mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
[PATCH] knfsd: 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 <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
fd39ca9a80
commit
31f4a6c127
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user