NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 12 Jul 2022 13:22:40 +0000 (09:22 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:40:01 +0000 (11:40 +0200)
commit 7ccafd4b2b9f34e6d8185f796f151c47424e273e upstream.

Don't assume that the NFS4ERR_DELAY means that the server is processing
this slot id.

Fixes: 3453d5708b33 ("NFSv4.1: Avoid false retries when RPC calls are interrupted")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfs/nfs4proc.c

index 6df0f9a..94571f7 100644 (file)
@@ -856,7 +856,6 @@ static int nfs41_sequence_process(struct rpc_task *task,
                        __func__,
                        slot->slot_nr,
                        slot->seq_nr);
-               nfs4_slot_sequence_acked(slot, slot->seq_nr);
                goto out_retry;
        case -NFS4ERR_RETRY_UNCACHED_REP:
        case -NFS4ERR_SEQ_FALSE_RETRY: