From: NeilBrown <neilb@cse.unsw.edu.au>

Fix a somewhat bizarre corner case in clid processing: a clientid match isn't
required for case 3.

From: Andy Adamson <andros@citi.umich.edu>
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
---

 25-akpm/fs/nfsd/nfs4state.c |    4 +---
 1 files changed, 1 insertion(+), 3 deletions(-)

diff -puN fs/nfsd/nfs4state.c~knfsd-9-of-11-nfsd-setclientid-fixpatch fs/nfsd/nfs4state.c
--- 25/fs/nfsd/nfs4state.c~knfsd-9-of-11-nfsd-setclientid-fixpatch	2004-05-28 00:10:40.394606496 -0700
+++ 25-akpm/fs/nfsd/nfs4state.c	2004-05-28 00:10:40.399605736 -0700
@@ -495,15 +495,13 @@ nfsd4_setclientid(struct svc_rqst *rqstp
 		gen_clid(new);
 		gen_confirm(new);
 		add_to_unconfirmed(new, strhashval);
-	} else if (!cmp_clid(&conf->cl_clientid, &unconf->cl_clientid) &&
-	      !cmp_verf(&conf->cl_confirm, &unconf->cl_confirm)) {
+	} else if (!cmp_verf(&conf->cl_confirm, &unconf->cl_confirm)) {
 		/*	
 		 * CASE3:
 		 * confirmed found (name, principal match)
 		 * confirmed verifier does not match input clverifier
 		 *
 		 * unconfirmed found (name match)
-		 * confirmed->cl_clientid != unconfirmed->cl_clientid and
 		 * confirmed->cl_confirm != unconfirmed->cl_confirm
 		 *
 		 * remove unconfirmed.
_