2005-06-01 22:51:08

by NeilBrown

[permalink] [raw]
Subject: [PATCH kNFSd 017 of 28] nfsd4: fix uncomfirmed list


Setclientid code assumes there is only one match in unconfirmed list.
Make sure that assumption holds.

>From Fred Isaman
Signed-off-by: J. Bruce Fields <[email protected]>
Signed-off-by: Neil Brown <[email protected]>

### Diffstat output
./fs/nfsd/nfs4state.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)

diff ./fs/nfsd/nfs4state.c~current~ ./fs/nfsd/nfs4state.c
--- ./fs/nfsd/nfs4state.c~current~ 2005-05-31 14:21:03.000000000 +1000
+++ ./fs/nfsd/nfs4state.c 2005-05-31 14:21:03.000000000 +1000
@@ -743,10 +743,13 @@ nfsd4_setclientid(struct svc_rqst *rqstp
* nfs4_client, but with the new callback info and a
* new cl_confirm
*/
- if ((unconf) &&
- cmp_verf(&unconf->cl_verifier, &conf->cl_verifier) &&
- cmp_clid(&unconf->cl_clientid, &conf->cl_clientid)) {
- expire_client(unconf);
+ if (unconf) {
+ /* Note this is removing unconfirmed {*x***},
+ * which is stronger than RFC recommended {vxc**}.
+ * This has the advantage that there is at most
+ * one {*x***} in either list at any time.
+ */
+ expire_client(unconf);
}
new = create_client(clname, dname);
if (new == NULL)


-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs