Skip to content

Commit

Permalink
NFSv41: nfs4_reset_session must always set NFS4CLNT_SESSION_DRAINING
Browse files Browse the repository at this point in the history
Otherwise we have no guarantees that other processes won't start another
RPC call while we're resetting the session.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
  • Loading branch information
Trond Myklebust authored and Trond Myklebust committed Dec 5, 2009
1 parent 2597641 commit 0556d1a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion fs/nfs/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -1211,8 +1211,8 @@ static int nfs4_reset_session(struct nfs_client *clp)

INIT_COMPLETION(ses->complete);
spin_lock(&tbl->slot_tbl_lock);
set_bit(NFS4CLNT_SESSION_DRAINING, &clp->cl_state);
if (tbl->highest_used_slotid != -1) {
set_bit(NFS4CLNT_SESSION_DRAINING, &clp->cl_state);
spin_unlock(&tbl->slot_tbl_lock);
status = wait_for_completion_interruptible(&ses->complete);
if (status) /* -ERESTARTSYS */
Expand Down

0 comments on commit 0556d1a

Please sign in to comment.