nfsd: nfs4_open_delegation needs to remove_stid rather than unhash_stid
authorBenny Halevy <bhalevy@primarydata.com>
Tue, 15 Oct 2013 06:57:55 +0000 (09:57 +0300)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 28 Oct 2013 19:58:20 +0000 (15:58 -0400)
In the out_free: path, the newly allocated stid must be removed rather
than unhashed so it can never be found.

Signed-off-by: Benny Halevy <bhalevy@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c

index 9cb1b17..3feb38e 100644 (file)
@@ -3159,7 +3159,7 @@ nfs4_open_delegation(struct net *net, struct svc_fh *fh,
        open->op_delegate_type = NFS4_OPEN_DELEGATE_READ;
        return;
 out_free:
-       unhash_stid(&dp->dl_stid);
+       remove_stid(&dp->dl_stid);
        nfs4_put_delegation(dp);
 out_no_deleg:
        open->op_delegate_type = NFS4_OPEN_DELEGATE_NONE;