linux-yocto/fs/nfsd
Jeff Layton 0174154faf nfsd: use threads array as-is in netlink interface
commit 8ea688a337 upstream.

The old nfsdfs interface for starting a server with multiple pools
handles the special case of a single entry array passed down from
userland by distributing the threads over every NUMA node.

The netlink control interface however constructs an array of length
nfsd_nrpools() and fills any unprovided slots with 0's. This behavior
defeats the special casing that the old interface relies on.

Change nfsd_nl_threads_set_doit() to pass down the array from userland
as-is.

Fixes: 7f5c330b26 ("nfsd: allow passing in array of thread counts via netlink")
Cc: stable@vger.kernel.org
Reported-by: Mike Snitzer <snitzer@kernel.org>
Closes: https://lore.kernel.org/linux-nfs/aDC-ftnzhJAlwqwh@kernel.org/
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-06-27 11:11:40 +01:00
..
acl.h
auth.c nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
auth.h nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
blocklayout.c NFSD: Annotate struct pnfs_block_deviceaddr with __counted_by() 2024-09-20 19:31:03 -04:00
blocklayoutxdr.c
blocklayoutxdr.h NFSD: Annotate struct pnfs_block_deviceaddr with __counted_by() 2024-09-20 19:31:03 -04:00
cache.h nfsd: don't allocate the versions array. 2024-09-20 19:29:23 -04:00
current_stateid.h
export.c nfsd: Revert "nfsd: release svc_expkey/svc_export with rcu_work" 2025-01-02 10:34:11 +01:00
export.h nfsd: Revert "nfsd: release svc_expkey/svc_export with rcu_work" 2025-01-02 10:34:11 +01:00
filecache.c nfsd: validate the nfsd_serv pointer before calling svc_wake_up 2025-02-21 14:01:14 +01:00
filecache.h nfs_common: must not hold RCU while calling nfsd_file_put_local 2024-12-05 14:02:27 +01:00
flexfilelayout.c
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig nfs: add missing selections of CONFIG_CRC32 2025-04-25 10:47:50 +02:00
localio.c nfs_common: fix race in NFS calls to nfsd_file_put_local() and nfsd_serv_put() 2024-10-03 16:19:43 -04:00
lockd.c
Makefile nfsd: add LOCALIO support 2024-09-23 15:03:30 -04:00
netlink.c nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netlink.h nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netns.h nfsd: add LOCALIO support 2024-09-23 15:03:30 -04:00
nfs2acl.c nfsd: clear acl_access/acl_default after releasing them 2025-02-21 14:01:13 +01:00
nfs3acl.c nfsd: clear acl_access/acl_default after releasing them 2025-02-21 14:01:13 +01:00
nfs3proc.c nfsd: move error choice for incorrect object types to version-specific code. 2024-09-20 19:31:03 -04:00
nfs3xdr.c nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
nfs4acl.c
nfs4callback.c NFSD: Fix CB_GETATTR status fix 2025-04-20 10:16:01 +02:00
nfs4idmap.c nfsd: call cache_put if xdr_reserve_space returns NULL 2024-09-20 19:31:03 -04:00
nfs4layouts.c nfsd: track the main opcode for callbacks 2024-09-20 19:31:03 -04:00
nfs4proc.c nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request 2025-06-27 11:11:15 +01:00
nfs4recover.c nfsd: fix legacy client tracking initialization 2025-04-07 10:08:35 +02:00
nfs4state.c nfsd: decrease sc_count directly if fail to queue dl_recall 2025-04-25 10:47:51 +02:00
nfs4xdr.c NFSD: Implement FATTR4_CLONE_BLKSIZE attribute 2025-06-27 11:11:15 +01:00
nfscache.c nfsd: Simplify the allocation of slab caches in nfsd_drc_slab_create 2024-03-01 09:12:24 -05:00
nfsctl.c nfsd: use threads array as-is in netlink interface 2025-06-27 11:11:40 +01:00
nfsd.h nfsd: implement server support for NFS_LOCALIO_PROGRAM 2024-09-23 15:03:30 -04:00
nfsfh.c nfsd: drop inode parameter from nfsd4_change_attribute() 2024-12-05 14:02:24 +01:00
nfsfh.h nfs: add missing selections of CONFIG_CRC32 2025-04-25 10:47:50 +02:00
nfsproc.c nfsd: move error choice for incorrect object types to version-specific code. 2024-09-20 19:31:03 -04:00
nfssvc.c nfsd: Initialize ssc before laundromat_work to prevent NULL dereference 2025-06-27 11:11:15 +01:00
nfsxdr.c
pnfs.h nfsd: allow layout state to be admin-revoked. 2024-03-01 09:12:22 -05:00
state.h nfsd: fix race between laundromat and free_stateid 2024-10-18 16:40:37 -04:00
stats.c nfsd: don't ignore the return code of svc_proc_register() 2025-04-20 10:16:01 +02:00
stats.h nfsd: don't ignore the return code of svc_proc_register() 2025-04-20 10:16:01 +02:00
trace.c
trace.h nfsd/localio: fix nfsd_file tracepoints to handle NULL rqstp 2024-10-04 14:52:04 -04:00
vfs.c NFSD: Never return NFS4ERR_FILE_OPEN when removing a directory 2025-04-10 14:39:40 +02:00
vfs.h nfsd: add LOCALIO support 2024-09-23 15:03:30 -04:00
xdr.h
xdr3.h nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
xdr4.h NFSD: Limit the number of concurrent async COPY operations 2024-09-20 19:31:03 -04:00
xdr4cb.h NFSD: add support for CB_GETATTR callback 2024-03-01 09:12:31 -05:00