[PATCH v3 0/5] nfsd/sunrpc: allow starting/stopping pooled NFS server via netlink

From: Jeff Layton
Date: Thu Jun 13 2024 - 14:36:25 EST


This is a resend of the patchset I sent a little over a week ago, with
a couple of new patches that allow setting the pool-mode via netlink.

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.

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
Changes in v3:
- better announce the subtle change to the /sys/module interface
- add more kerneldoc comments
- Link to v2: https://lore.kernel.org/r/20240613-nfsd-next-v2-0-20bf690d65fb@xxxxxxxxxx

Changes in v2:
- add new pool-mode set/get netlink calls

---
Jeff Layton (5):
sunrpc: fix up the special handling of sv_nrpools == 1
nfsd: make nfsd_svc take an array of thread counts
nfsd: allow passing in array of thread counts via netlink
sunrpc: refactor pool_mode setting code
nfsd: new netlink ops to get/set server pool_mode

Documentation/netlink/specs/nfsd.yaml | 27 +++++++++
fs/nfsd/netlink.c | 17 ++++++
fs/nfsd/netlink.h | 2 +
fs/nfsd/nfsctl.c | 100 ++++++++++++++++++++++++++----
fs/nfsd/nfsd.h | 3 +-
fs/nfsd/nfssvc.c | 59 +++++++++++-------
include/linux/sunrpc/svc.h | 3 +
include/uapi/linux/nfsd_netlink.h | 10 +++
net/sunrpc/svc.c | 111 ++++++++++++++++++++++------------
9 files changed, 256 insertions(+), 76 deletions(-)
---
base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa
change-id: 20240604-nfsd-next-b04c0d2d89a9

Best regards,
--
Jeff Layton <jlayton@xxxxxxxxxx>