On Sat, 2017-04-22 at 12:31 -0400, Olga Kornievskaia wrote: > If the RPC slot was interrupted and server replied to the next > operation on the "reused" slot with ERR_DELAY, don't clear out > the "interrupted" flag until we properly recover. > > Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx> > --- > fs/nfs/nfs4proc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c > index 0d3347e..a15979c 100644 > --- a/fs/nfs/nfs4proc.c > +++ b/fs/nfs/nfs4proc.c > @@ -697,7 +697,8 @@ static int nfs41_sequence_process(struct rpc_task > *task, > session = slot->table->session; > > if (slot->interrupted) { > - slot->interrupted = 0; > + if (task->tk_status != -NFS4ERR_DELAY) > + slot->interrupted = 0; This is only correct if the NFS4ERR_DELAY is on the sequence op itself. Can we therefore please correct this to check res->sr_status instead? > interrupted = true; > } > -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥