NFSv4: Check the open stateid when searching for expired state
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 6 Nov 2017 20:28:11 +0000 (15:28 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 17 Nov 2017 21:43:49 +0000 (16:43 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4state.c

index b6a0cf7fa1f616521de94d6c63c41b095bfbaf86..ff2794412e6f6b1d483a188c5d6ff1224c1cb382 100644 (file)
@@ -1431,6 +1431,11 @@ void nfs_inode_find_state_and_recover(struct inode *inode,
                        found = true;
                        continue;
                }
+               if (nfs4_stateid_match_other(&state->open_stateid, stateid) &&
+                   nfs4_state_mark_reclaim_nograce(clp, state)) {
+                       found = true;
+                       continue;
+               }
                if (nfs_state_lock_state_matches_stateid(state, stateid) &&
                    nfs4_state_mark_reclaim_nograce(clp, state))
                        found = true;