diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-23 15:52:14 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-23 15:52:14 -0400 |
commit | b0212b84fb19cf89305ab96c73abdf3a76d05ef8 (patch) | |
tree | 429daec3f580ad8f4c39e90f212d259b19ba9394 /fs/nfs/nfs4state.c | |
parent | bd1d421abcaae1b84ba377ea4c33bba31d654199 (diff) | |
parent | eb04e0ac198cec3bab407ad220438dfa65c19c67 (diff) |
Merge branch 'bugfixes' into linux-next
Fix up a conflict between the linux-next branch and mainline.
Conflicts:
fs/nfs/nfs4proc.c
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 7a74ea64bf5..0b32f9483b7 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -1897,7 +1897,13 @@ again: status = PTR_ERR(clnt); break; } - clp->cl_rpcclient = clnt; + /* Note: this is safe because we haven't yet marked the + * client as ready, so we are the only user of + * clp->cl_rpcclient + */ + clnt = xchg(&clp->cl_rpcclient, clnt); + rpc_shutdown_client(clnt); + clnt = clp->cl_rpcclient; goto again; case -NFS4ERR_MINOR_VERS_MISMATCH: |