|
@@ -258,7 +258,12 @@ static int nfs4_wait_clnt_recover(struct nfs_client *clp)
|
|
|
|
|
|
res = wait_on_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING,
|
|
res = wait_on_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING,
|
|
nfs_wait_bit_killable, TASK_KILLABLE);
|
|
nfs_wait_bit_killable, TASK_KILLABLE);
|
|
- return res;
|
|
|
|
|
|
+ if (res)
|
|
|
|
+ return res;
|
|
|
|
+
|
|
|
|
+ if (clp->cl_cons_state < 0)
|
|
|
|
+ return clp->cl_cons_state;
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
static int nfs4_delay(struct rpc_clnt *clnt, long *timeout)
|
|
static int nfs4_delay(struct rpc_clnt *clnt, long *timeout)
|