From 6d893c664b5e69f74e1b82aa3f7baf43c7271286 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 23 Jun 2005 22:04:06 -0700 Subject: [PATCH] --- yaml --- r: 3117 b: refs/heads/master c: 31f4a6c127f619886bf97f643e546f7788248f3f h: refs/heads/master i: 3115: 973eaf8976b6a4f35e88af52382682267f66f03f v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfs4state.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 19ea77a1cf83..ff09070b6927 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fd39ca9a808c6026989bc2188868a0574eb37108 +refs/heads/master: 31f4a6c127f619886bf97f643e546f7788248f3f diff --git a/trunk/fs/nfsd/nfs4state.c b/trunk/fs/nfsd/nfs4state.c index 8a5f777b1e96..67a038dc0d0e 100644 --- a/trunk/fs/nfsd/nfs4state.c +++ b/trunk/fs/nfsd/nfs4state.c @@ -743,10 +743,13 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_setclientid *setclid) * 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)