NFSv4.1: Handle NFS4ERR_BADSESSION/NFS4ERR_DEADSESSION replies to OP_SEQUENCE

In the case where SEQUENCE receives a NFS4ERR_BADSESSION or
NFS4ERR_DEADSESSION error, we just want to report the session as needing
recovery, and then we want to retry the operation.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Trond Myklebust 2016-12-04 19:26:40 -05:00
parent 1cd9cb05f9
commit 2cf10cdd48

View File

@ -816,6 +816,10 @@ static int nfs41_sequence_process(struct rpc_task *task,
case -NFS4ERR_SEQ_FALSE_RETRY:
++slot->seq_nr;
goto retry_nowait;
case -NFS4ERR_DEADSESSION:
case -NFS4ERR_BADSESSION:
nfs4_schedule_session_recovery(session, res->sr_status);
goto retry_nowait;
default:
/* Just update the slot sequence no. */
slot->seq_done = 1;