From: Trond Myklebust Date: Tue, 12 Jul 2022 13:16:04 +0000 (-0400) Subject: NFSv4.1: Don't decrease the value of seq_nr_highest_sent X-Git-Tag: v6.0-rc1~38^2~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f07a5d2427fc113dc50c5c818eba8929bc27b8ca;p=thirdparty%2Fkernel%2Flinux.git NFSv4.1: Don't decrease the value of seq_nr_highest_sent When we're trying to figure out what the server may or may not have seen in terms of request numbers, do not assume that requests with a larger number were missed, just because we saw a reply to a request with a smaller number. Fixes: 3453d5708b33 ("NFSv4.1: Avoid false retries when RPC calls are interrupted") Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index bb0e84a46d61a..628471d069473 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -784,10 +784,9 @@ static void nfs4_slot_sequence_record_sent(struct nfs4_slot *slot, if ((s32)(seqnr - slot->seq_nr_highest_sent) > 0) slot->seq_nr_highest_sent = seqnr; } -static void nfs4_slot_sequence_acked(struct nfs4_slot *slot, - u32 seqnr) +static void nfs4_slot_sequence_acked(struct nfs4_slot *slot, u32 seqnr) { - slot->seq_nr_highest_sent = seqnr; + nfs4_slot_sequence_record_sent(slot, seqnr); slot->seq_nr_last_acked = seqnr; }