From: J. Bruce Fields Date: Sat, 21 Feb 2009 21:32:28 +0000 (-0800) Subject: nfsd4: fail when delegreturn gets a non-delegation stateid X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=7e0f7cf582abd6c85232331dfe726a4e4b0fd98e;p=openwrt%2Fstaging%2Fblogic.git nfsd4: fail when delegreturn gets a non-delegation stateid Previous cleanup reveals an obvious (though harmless) bug: when delegreturn gets a stateid that isn't for a delegation, it should return an error rather than doing nothing. Signed-off-by: J. Bruce Fields --- diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 3570a0d1133f..6ae28e606afc 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2418,10 +2418,9 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, status = nfserr_stale_stateid; if (STALE_STATEID(stateid)) goto out; - status = nfs_ok; + status = nfserr_bad_stateid; if (!is_delegation_stateid(stateid)) goto out; - status = nfserr_bad_stateid; dp = find_delegation_stateid(inode, stateid); if (!dp) goto out;