]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
NFS4: Apply delay_retrans to async operations
authorJoshua Watt <jpewhacker@gmail.com>
Tue, 7 Oct 2025 21:22:58 +0000 (15:22 -0600)
committerAnna Schumaker <anna.schumaker@oracle.com>
Mon, 13 Oct 2025 18:33:00 +0000 (14:33 -0400)
commit7a84394f02ab1985ebbe0a8d6f6d69bd040de4b3
tree2d1feea98fa3b9a18b0e4b98c28a399defb5c73e
parent8db4a1d146f83c6bdb0f5b98c50c509ae8549827
NFS4: Apply delay_retrans to async operations

The setting of delay_retrans is applied to synchronous RPC operations
because the retransmit count is stored in same struct nfs4_exception
that is passed each time an error is checked. However, for asynchronous
operations (READ, WRITE, LOCKU, CLOSE, DELEGRETURN), a new struct
nfs4_exception is made on the stack each time the task callback is
invoked. This means that the retransmit count is always zero and thus
delay_retrans never takes effect.

Apply delay_retrans to these operations by tracking and updating their
retransmit count.

Change-Id: Ieb33e046c2b277cb979caa3faca7f52faf0568c9
Signed-off-by: Joshua Watt <jpewhacker@gmail.com>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/nfs4proc.c
include/linux/nfs_xdr.h