linux/fs/lockd
Jeff Layton a0022a38be sunrpc: allow svc_recv() to return -ETIMEDOUT and -EBUSY
To dynamically adjust the thread count, nfsd requires some information
about how busy things are.

Change svc_recv() to take a timeout value, and then allow the wait for
work to time out if it's set. If a timeout is not defined, then the
schedule will be set to MAX_SCHEDULE_TIMEOUT. If the task waits for the
full timeout, then have it return -ETIMEDOUT to the caller.

If it wakes up, finds that there is more work and that no threads are
available, then attempt to set SP_TASK_STARTING. If wasn't already set,
have the task return -EBUSY to cue to the caller that the service could
use more threads.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2026-01-28 10:15:42 -05:00
..
clnt4xdr.c lockd: adapt to breakup of struct file_lock 2024-02-05 13:11:43 +01:00
clntlock.c lockd: adapt to breakup of struct file_lock 2024-02-05 13:11:43 +01:00
clntproc.c lockd: adapt to breakup of struct file_lock 2024-02-05 13:11:43 +01:00
clntxdr.c lockd: Fix comment about NLMv3 backwards compatibility 2024-11-18 20:22:58 -05:00
host.c lockd: discard nlmsvc_timeout 2024-09-01 10:04:56 -04:00
Makefile lockd: add netlink control interface 2025-03-10 09:10:53 -04:00
mon.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
netlink.c tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
netlink.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
netns.h lockd: add netlink control interface 2025-03-10 09:10:53 -04:00
procfs.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
procfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
svc.c sunrpc: allow svc_recv() to return -ETIMEDOUT and -EBUSY 2026-01-28 10:15:42 -05:00
svc4proc.c lockd: fix vfs_test_lock() calls 2025-12-24 21:18:46 -05:00
svclock.c locks: ensure vfs_test_lock() never returns FILE_LOCK_DEFERRED 2026-01-26 10:10:58 -05:00
svcproc.c lockd: fix vfs_test_lock() calls 2025-12-24 21:18:46 -05:00
svcshare.c lockd: don't allow locking on reexported NFSv2/3 2025-11-20 16:29:35 -05:00
svcsubs.c lockd: adapt to breakup of struct file_lock 2024-02-05 13:11:43 +01:00
svcxdr.h NLM: Fix svcxdr_encode_owner() 2021-09-17 10:35:10 -04:00
trace.c lockd: add some client-side tracepoints 2023-04-26 09:05:00 -04:00
trace.h lockd: add some client-side tracepoints 2023-04-26 09:05:00 -04:00
xdr.c lockd: adapt to breakup of struct file_lock 2024-02-05 13:11:43 +01:00
xdr4.c lockd: Remove unneeded initialization of file_lock::c.flc_flags 2024-11-18 20:23:04 -05:00