This patchset first attempts to detangle the pooled/non-pooled service
handling in the sunrpc layer, unifies the codepaths that start the
pooled vs. non-pooled nfsd, and then wires up the new netlink threads
interface to allow you to start a pooled server by specifying an
array of thread counts.
FWIW, eventually I'd like to wire up the pool_mode setting to netlink as
well. I took a stab at adding a pool_mode parameter to the set_threads
interface, but I think that's the wrong approach. By the time we call
set_threads, we've usually already allocated the serv. I think pool_mode
setting has to be done with new netlink call. I'll probably tackle that
in a later patchset.
Signed-off-by: Jeff Layton <[email protected]>
---
Jeff Layton (3):
sunrpc: fix up the special handling of sv_nrpools == 1
nfsd: make nfsd_svc call nfsd_set_nrthreads
nfsd: allow passing in array of thread counts via netlink
fs/nfsd/nfsctl.c | 45 ++++++++++++++++++++++++++++++++-------------
fs/nfsd/nfsd.h | 3 ++-
fs/nfsd/nfssvc.c | 30 +++++++++++++-----------------
include/linux/sunrpc/svc.h | 1 +
net/sunrpc/svc.c | 26 +++++++-------------------
5 files changed, 55 insertions(+), 50 deletions(-)
---
base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa
change-id: 20240604-nfsd-next-b04c0d2d89a9
Best regards,
--
Jeff Layton <[email protected]>