summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNeilBrown2005-06-24 07:04:11 +0200
committerLinus Torvalds2005-06-24 09:06:34 +0200
commit08e8987c37cd04d2df211c1e019d8f165d44266e (patch)
tree5cce86377d0bcae663940acd2600d45b8dc4153d /fs
parent[PATCH] knfsd: nfsd4: fix setclientid_confirm error return (diff)
downloadkernel-qcow2-linux-08e8987c37cd04d2df211c1e019d8f165d44266e.tar.gz
kernel-qcow2-linux-08e8987c37cd04d2df211c1e019d8f165d44266e.tar.xz
kernel-qcow2-linux-08e8987c37cd04d2df211c1e019d8f165d44266e.zip
[PATCH] knfsd: nfsd4: setclientid_confirm gotoectomy
Change from "goto" to "else if" format in setclientid_confirm. 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>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfs4state.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 2dc6da74ccea..9014dc2a632a 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -891,14 +891,13 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
status = nfs_ok;
}
- goto out;
}
/* CASE 2:
* conf record that matches input clientid.
* if unconf record that matches input clientid, then unconf->cl_name
* or unconf->cl_verifier don't match the conf record.
*/
- if ((conf && !unconf) ||
+ else if ((conf && !unconf) ||
((conf && unconf) &&
(!cmp_verf(&conf->cl_verifier, &unconf->cl_verifier) ||
!same_name(conf->cl_recdir, unconf->cl_recdir)))) {
@@ -908,14 +907,13 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
clp = conf;
status = nfs_ok;
}
- goto out;
}
/* CASE 3:
* conf record not found.
* unconf record found.
* unconf->cl_confirm matches input confirm
*/
- if (!conf && unconf && cmp_verf(&unconf->cl_confirm, &confirm)) {
+ else if (!conf && unconf && cmp_verf(&unconf->cl_confirm, &confirm)) {
if (!cmp_creds(&unconf->cl_cred, &rqstp->rq_cred)) {
status = nfserr_clid_inuse;
} else {
@@ -930,7 +928,6 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
move_to_confirmed(unconf);
status = nfs_ok;
}
- goto out;
}
/* CASE 4:
* conf record not found, or if conf, then conf->cl_confirm does not
@@ -938,14 +935,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
* unconf record not found, or if unconf, then unconf->cl_confirm
* does not match input confirm.
*/
- if ((!conf || (conf && !cmp_verf(&conf->cl_confirm, &confirm))) &&
+ else if ((!conf || (conf && !cmp_verf(&conf->cl_confirm, &confirm))) &&
(!unconf || (unconf && !cmp_verf(&unconf->cl_confirm, &confirm)))) {
status = nfserr_stale_clientid;
- goto out;
}
- /* check that we have hit one of the cases...*/
- status = nfserr_clid_inuse;
- goto out;
+ else {
+ /* check that we have hit one of the cases...*/
+ status = nfserr_clid_inuse;
+ }
out:
if (!status)
nfsd4_probe_callback(clp);