NFSv4: Ensure that the state manager exits the loop on SIGKILL
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 5 Nov 2018 17:17:01 +0000 (12:17 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 12 Nov 2018 21:39:13 +0000 (16:39 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs4state.c

index 98d1b6a6646a041fcc4dc4652d22f65a12efc794..ffea5788539490467fcf83a4950a42ccce2e0ed3 100644 (file)
@@ -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: