summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2018-11-05 18:17:01 +0100
committerTrond Myklebust <trond.myklebust@hammerspace.com>2018-11-12 22:39:13 +0100
commita1aa09be21fa344d1f5585aab8164bfae55f57e3 (patch)
tree3c89a76c9a6edf6583b1d778c0d70fa6295dfa55 /fs/nfs/nfs4state.c
parentNFSv4: Don't exit the state manager without clearing NFS4CLNT_MANAGER_RUNNING (diff)
downloadlinux-a1aa09be21fa344d1f5585aab8164bfae55f57e3.tar.xz
linux-a1aa09be21fa344d1f5585aab8164bfae55f57e3.zip
NFSv4: Ensure that the state manager exits the loop on SIGKILL
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to '')
-rw-r--r--fs/nfs/nfs4state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 98d1b6a6646a..ffea57885394 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -2604,7 +2604,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
return;
if (test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state) != 0)
return;
- } while (refcount_read(&clp->cl_count) > 1);
+ } while (refcount_read(&clp->cl_count) > 1 && !signalled());
goto out_drain;
out_error: