nfsd4: don't set lock stateid's sc_type to CLOSED
authorJ. Bruce Fields <bfields@redhat.com>
Wed, 17 Jan 2018 21:25:59 +0000 (16:25 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 5 Feb 2018 22:13:17 +0000 (17:13 -0500)
There's no point I can see to

stp->st_stid.sc_type = NFS4_CLOSED_STID;

given release_lock_stateid immediately sets sc_type to 0.

That set of sc_type to 0 should be enough to prevent it being used where
we don't want it to be; NFS4_CLOSED_STID should only be needed for
actual open stateid's that are actually closed.

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

index 5a75135..150521c 100644 (file)
@@ -5183,7 +5183,6 @@ nfsd4_free_lock_stateid(stateid_t *stateid, struct nfs4_stid *s)
                            lockowner(stp->st_stateowner)))
                goto out;
 
-       stp->st_stid.sc_type = NFS4_CLOSED_STID;
        release_lock_stateid(stp);
        ret = nfs_ok;
 
@@ -6079,10 +6078,8 @@ out:
                 * If this is a new, never-before-used stateid, and we are
                 * returning an error, then just go ahead and release it.
                 */
-               if (status && new) {
-                       lock_stp->st_stid.sc_type = NFS4_CLOSED_STID;
+               if (status && new)
                        release_lock_stateid(lock_stp);
-               }
 
                mutex_unlock(&lock_stp->st_mutex);