From 5af21aa9ab9ff9ff2cd7efc189f63da3850fc496 Mon Sep 17 00:00:00 2001 From: "J.Bruce Fields" Date: Wed, 13 Dec 2006 00:35:31 -0800 Subject: [PATCH] --- yaml --- r: 44509 b: refs/heads/master c: c954e2a5d1c9662991a41282297ddebcadee0578 h: refs/heads/master i: 44507: 24acd7f604434bae8c89dbcfb40664a9cb21764d v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfs4proc.c | 28 ++++++++++++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index e22f0eaff6e0..3ac172c7eec6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7191155bd3abbbf62368a0528f7610741d007a58 +refs/heads/master: c954e2a5d1c9662991a41282297ddebcadee0578 diff --git a/trunk/fs/nfsd/nfs4proc.c b/trunk/fs/nfsd/nfs4proc.c index 9fcf46a7d95d..8fc2cab9d76a 100644 --- a/trunk/fs/nfsd/nfs4proc.c +++ b/trunk/fs/nfsd/nfs4proc.c @@ -681,7 +681,7 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, * to NFS_OK after the call; NVERIFY by mapping NFSERR_NOT_SAME to NFS_OK. */ static __be32 -nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, +_nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_verify *verify) { __be32 *buf, *p; @@ -733,6 +733,26 @@ nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, return status; } +static __be32 +nfsd4_nverify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, + struct nfsd4_verify *verify) +{ + __be32 status; + + status = _nfsd4_verify(rqstp, cstate, verify); + return status == nfserr_not_same ? nfs_ok : status; +} + +static __be32 +nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, + struct nfsd4_verify *verify) +{ + __be32 status; + + status = _nfsd4_verify(rqstp, cstate, verify); + return status == nfserr_same ? nfs_ok : status; +} + /* * NULL call. */ @@ -911,10 +931,8 @@ nfsd4_proc_compound(struct svc_rqst *rqstp, op->status = nfsd4_lookupp(rqstp, cstate); break; case OP_NVERIFY: - op->status = nfsd4_verify(rqstp, cstate, + op->status = nfsd4_nverify(rqstp, cstate, &op->u.nverify); - if (op->status == nfserr_not_same) - op->status = nfs_ok; break; case OP_OPEN: op->status = nfsd4_open(rqstp, cstate, @@ -975,8 +993,6 @@ nfsd4_proc_compound(struct svc_rqst *rqstp, case OP_VERIFY: op->status = nfsd4_verify(rqstp, cstate, &op->u.verify); - if (op->status == nfserr_same) - op->status = nfs_ok; break; case OP_WRITE: op->status = nfsd4_write(rqstp, cstate, &op->u.write);