mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 15:18:19 +00:00
[PATCH] knfsd: nfsd4: fix setclientid_confirm error return
NFS4_INVAL is not a valid error for setclientid_confirm, and INUSE is the more logical error here anyway. 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
1a69c179a2
commit
22de4d8374
1 changed files with 3 additions and 8 deletions
|
@ -849,12 +849,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
|
|||
nfs4_lock_state();
|
||||
clp = find_confirmed_client(clid);
|
||||
if (clp) {
|
||||
status = nfserr_inval;
|
||||
/*
|
||||
* Found a record for this clientid. If the IP addresses
|
||||
* don't match, return ERR_INVAL just as if the record had
|
||||
* not been found.
|
||||
*/
|
||||
status = nfserr_clid_inuse;
|
||||
if (clp->cl_addr != ip_addr) {
|
||||
printk("NFSD: setclientid: string in use by client"
|
||||
"(clientid %08x/%08x)\n",
|
||||
|
@ -865,7 +860,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
|
|||
}
|
||||
clp = find_unconfirmed_client(clid);
|
||||
if (clp) {
|
||||
status = nfserr_inval;
|
||||
status = nfserr_clid_inuse;
|
||||
if (clp->cl_addr != ip_addr) {
|
||||
printk("NFSD: setclientid: string in use by client"
|
||||
"(clientid %08x/%08x)\n",
|
||||
|
@ -949,7 +944,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
|
|||
goto out;
|
||||
}
|
||||
/* check that we have hit one of the cases...*/
|
||||
status = nfserr_inval;
|
||||
status = nfserr_clid_inuse;
|
||||
goto out;
|
||||
out:
|
||||
if (!status)
|
||||
|
|
Loading…
Reference in a new issue