aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfs/nfs4state.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 62c08bf60e65..452f4c8dadea 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1255,14 +1255,16 @@ int nfs4_wait_clnt_recover(struct nfs_client *clp)
1255 1255
1256 might_sleep(); 1256 might_sleep();
1257 1257
1258 atomic_inc(&clp->cl_count);
1258 res = wait_on_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING, 1259 res = wait_on_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING,
1259 nfs_wait_bit_killable, TASK_KILLABLE); 1260 nfs_wait_bit_killable, TASK_KILLABLE);
1260 if (res) 1261 if (res)
1261 return res; 1262 goto out;
1262
1263 if (clp->cl_cons_state < 0) 1263 if (clp->cl_cons_state < 0)
1264 return clp->cl_cons_state; 1264 res = clp->cl_cons_state;
1265 return 0; 1265out:
1266 nfs_put_client(clp);
1267 return res;
1266} 1268}
1267 1269
1268int nfs4_client_recover_expired_lease(struct nfs_client *clp) 1270int nfs4_client_recover_expired_lease(struct nfs_client *clp)