]> www.infradead.org Git - users/jedix/linux-maple.git/commit
NFSD: Convert the callback workqueue to use delayed_work
authorChuck Lever <chuck.lever@oracle.com>
Fri, 26 Jan 2024 17:45:23 +0000 (12:45 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Fri, 1 Mar 2024 14:12:12 +0000 (09:12 -0500)
commitfe0e9580e2d4d136d40d03bcdb19a0a2b03a11d9
tree5fec000217f46351b692a89a98e64472d8324702
parent961b4b5e86bf56a2e4b567f81682defa5cba957e
NFSD: Convert the callback workqueue to use delayed_work

Normally, NFSv4 callback operations are supposed to be sent to the
client as soon as they are queued up.

In a moment, I will introduce a recovery path where the server has
to wait for the client to reconnect. We don't want a hard busy wait
here -- the callback should be requeued to try again in several
milliseconds.

For now, convert nfsd4_callback from struct work_struct to struct
delayed_work, and queue with a zero delay argument. This should
avoid behavior changes for current operation.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4callback.c
fs/nfsd/state.h