From: Trond Myklebust Date: Sun, 27 May 2012 17:47:21 +0000 (-0400) Subject: NFSv4.1: nfs4_bind_conn_to_session should drain the session X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=43ac544cb36adf38338c01968f8e3a5f81b7d629;p=linux-beck.git NFSv4.1: nfs4_bind_conn_to_session should drain the session In order to avoid races with other RPC calls that end up setting the NFS4CLNT_BIND_CONN_TO_SESSION flag. Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 7dbca666283a..d21ed0309601 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -1782,10 +1782,12 @@ static int nfs4_bind_conn_to_session(struct nfs_client *clp) struct rpc_cred *cred; int ret; + nfs4_begin_drain_session(clp); cred = nfs4_get_exchange_id_cred(clp); ret = nfs4_proc_bind_conn_to_session(clp, cred); if (cred) put_rpccred(cred); + clear_bit(NFS4CLNT_BIND_CONN_TO_SESSION, &clp->cl_state); return ret; } #else /* CONFIG_NFS_V4_1 */