linux-stable/fs/nfsd
NeilBrown 104ef3d8cd nfsd: don't allow nfsd threads to be signalled.
commit 3903902401 upstream.

The original implementation of nfsd used signals to stop threads during
shutdown.
In Linux 2.3.46pre5 nfsd gained the ability to shutdown threads
internally it if was asked to run "0" threads.  After this user-space
transitioned to using "rpc.nfsd 0" to stop nfsd and sending signals to
threads was no longer an important part of the API.

In commit 3ebdbe5203 ("SUNRPC: discard svo_setup and rename
svc_set_num_threads_sync()") (v5.17-rc1~75^2~41) we finally removed the
use of signals for stopping threads, using kthread_stop() instead.

This patch makes the "obvious" next step and removes the ability to
signal nfsd threads - or any svc threads.  nfsd stops allowing signals
and we don't check for their delivery any more.

This will allow for some simplification in later patches.

A change worth noting is in nfsd4_ssc_setup_dul().  There was previously
a signal_pending() check which would only succeed when the thread was
being shut down.  It should really have tested kthread_should_stop() as
well.  Now it just does the latter, not the former.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-25 16:21:30 +02:00
..
Kconfig nfsd: allow disabling NFSv2 at compile time 2024-03-06 14:45:15 +00:00
Makefile nfsd: allow disabling NFSv2 at compile time 2024-03-06 14:45:15 +00:00
acl.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
auth.c
auth.h
blocklayout.c nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
blocklayoutxdr.c nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
blocklayoutxdr.h
cache.h NFSD: Fix checksum mismatches in the duplicate reply cache 2023-12-03 07:32:10 +01:00
current_stateid.h
export.c fs: add is_idmapped_mnt() helper 2021-12-03 18:44:06 +01:00
export.h nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
fault_inject.c
filecache.c NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop 2024-03-26 18:20:24 -04:00
filecache.h NFSD: Convert filecache to rhltable 2024-03-26 18:20:23 -04:00
flexfilelayout.c nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
flexfilelayoutxdr.c NFSD: da_addr_body field missing in some GETDEVICEINFO replies 2023-09-13 09:42:49 +02:00
flexfilelayoutxdr.h
idmap.h
lockd.c
netns.h NFSD: replace delayed_work with work_struct for nfsd_client_shrinker 2024-03-06 14:45:17 +00:00
nfs2acl.c NFSD: Finish converting the NFSv2 GETACL result encoder 2022-12-31 13:31:58 +01:00
nfs3acl.c NFSD: Finish converting the NFSv3 GETACL result encoder 2022-12-31 13:31:58 +01:00
nfs3proc.c NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2023-01-18 11:58:25 +01:00
nfs3xdr.c NFSD: Clean up WRITE arg decoders 2022-09-26 14:02:47 -04:00
nfs4acl.c NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
nfs4callback.c NFSD: add support for sending CB_RECALL_ANY 2024-03-06 14:45:17 +00:00
nfs4idmap.c nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
nfs4layouts.c nfsd: fix race to check ls_layouts 2023-03-10 09:33:24 +01:00
nfs4proc.c nfsd: don't allow nfsd threads to be signalled. 2024-05-25 16:21:30 +02:00
nfs4recover.c struct file-related stuff 2022-10-06 17:13:18 -07:00
nfs4state.c nfsd: hold a lighter-weight client reference over CB_RECALL_ANY 2024-04-10 16:28:32 +02:00
nfs4xdr.c nfsd: Fix creation time serialization order 2024-03-26 18:20:24 -04:00
nfscache.c NFSD: Fix checksum mismatches in the duplicate reply cache 2023-12-03 07:32:10 +01:00
nfsctl.c NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time 2024-03-06 14:45:17 +00:00
nfsd.h NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time 2024-03-06 14:45:17 +00:00
nfsfh.c nfsd: ensure we always call fh_verify_error tracepoint 2022-10-13 12:12:37 -04:00
nfsfh.h NFSD: Use const pointers as parameters to fh_ helpers 2024-03-06 14:45:15 +00:00
nfsproc.c NFSD: Use set_bit(RQ_DROPME) 2024-03-06 14:45:17 +00:00
nfssvc.c nfsd: don't allow nfsd threads to be signalled. 2024-05-25 16:21:30 +02:00
nfsxdr.c NFSD: Clean up WRITE arg decoders 2022-09-26 14:02:47 -04:00
pnfs.h
state.h NFSD: add delegation reaper to react to low memory condition 2024-03-06 14:45:17 +00:00
stats.c nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops 2022-09-26 14:02:49 -04:00
stats.h nfsd: make nfsd_stats.th_cnt atomic_t 2021-12-13 13:42:51 -05:00
trace.c
trace.h NFSD: Fix nfsd_clid_class use of __string_len() macro 2024-04-03 15:19:38 +02:00
vfs.c nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
vfs.h nfsd: move nfserrno() to vfs.c 2024-03-06 14:45:15 +00:00
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-03-15 09:35:56 -04:00
xdr3.h SUNRPC: Change return value type of .pc_encode 2021-10-13 11:34:49 -04:00
xdr4.h NFSD: add support for sending CB_RECALL_ANY 2024-03-06 14:45:17 +00:00
xdr4cb.h NFSD: add support for sending CB_RECALL_ANY 2024-03-06 14:45:17 +00:00