提交 5df904ae 编写于 作者: T Trond Myklebust

NFSv4.1: Handle session reset and bind_conn_to_session before lease check

We can't send a SEQUENCE op unless the session is OK, so it is pointless
to handle the CHECK_LEASE state before we've dealt with SESSION_RESET
and BIND_CONN_TO_SESSION.
Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 6bdb5f21
...@@ -2114,15 +2114,6 @@ static void nfs4_state_manager(struct nfs_client *clp) ...@@ -2114,15 +2114,6 @@ static void nfs4_state_manager(struct nfs_client *clp)
continue; continue;
} }
if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) {
section = "check lease";
status = nfs4_check_lease(clp);
if (status < 0)
goto out_error;
if (test_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state))
continue;
}
/* Initialize or reset the session */ /* Initialize or reset the session */
if (test_and_clear_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state)) { if (test_and_clear_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state)) {
section = "reset session"; section = "reset session";
...@@ -2143,6 +2134,14 @@ static void nfs4_state_manager(struct nfs_client *clp) ...@@ -2143,6 +2134,14 @@ static void nfs4_state_manager(struct nfs_client *clp)
continue; continue;
} }
if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) {
section = "check lease";
status = nfs4_check_lease(clp);
if (status < 0)
goto out_error;
continue;
}
/* Recall session slots */ /* Recall session slots */
if (test_and_clear_bit(NFS4CLNT_RECALL_SLOT, &clp->cl_state)) { if (test_and_clear_bit(NFS4CLNT_RECALL_SLOT, &clp->cl_state)) {
section = "recall slot"; section = "recall slot";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册