nfsd4: fail when delegreturn gets a non-delegation stateid
[safe/jmp/linux-2.6] / fs / nfsd / nfs4state.c
index 3570a0d..6ae28e6 100644 (file)
@@ -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 = nfserr_stale_stateid;
        if (STALE_STATEID(stateid))
                goto out;
-       status = nfs_ok;
+       status = nfserr_bad_stateid;
        if (!is_delegation_stateid(stateid))
                goto out;
        if (!is_delegation_stateid(stateid))
                goto out;
-       status = nfserr_bad_stateid;
        dp = find_delegation_stateid(inode, stateid);
        if (!dp)
                goto out;
        dp = find_delegation_stateid(inode, stateid);
        if (!dp)
                goto out;