mbox series

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

Message ID 20240613-nfsd-next-v2-0-20bf690d65fb@kernel.org (mailing list archive)
Headers show
Series nfsd/sunrpc: allow starting/stopping pooled NFS server via netlink | expand

Message

Jeff Layton June 13, 2024, 12:16 p.m. UTC
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@kernel.org>
---
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 call nfsd_set_nrthreads
      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                      | 102 +++++++++++++++++++++++++++++-----
 fs/nfsd/nfsd.h                        |   3 +-
 fs/nfsd/nfssvc.c                      |  30 +++++-----
 include/linux/sunrpc/svc.h            |   3 +
 include/uapi/linux/nfsd_netlink.h     |  10 ++++
 net/sunrpc/svc.c                      | 102 +++++++++++++++++++++-------------
 9 files changed, 225 insertions(+), 71 deletions(-)
---
base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa
change-id: 20240604-nfsd-next-b04c0d2d89a9

Best regards,

Comments

Chuck Lever June 13, 2024, 4:01 p.m. UTC | #1
On Thu, Jun 13, 2024 at 08:16:37AM -0400, Jeff Layton wrote:
> 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@kernel.org>
> ---
> Changes in v2:
> - add new pool-mode set/get netlink calls

Applying this series to nfsd-next for broader exposure. Review
comments and test results are still welcome.

There are a couple of nits to be addressed in 2/5 and 4/5, and
we already discussed adding a disclaimer about changes to the
behavior of the /proc interface. So, can you fix these up and send
me a refresh?


> ---
> Jeff Layton (5):
>       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
>       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                      | 102 +++++++++++++++++++++++++++++-----
>  fs/nfsd/nfsd.h                        |   3 +-
>  fs/nfsd/nfssvc.c                      |  30 +++++-----
>  include/linux/sunrpc/svc.h            |   3 +
>  include/uapi/linux/nfsd_netlink.h     |  10 ++++
>  net/sunrpc/svc.c                      | 102 +++++++++++++++++++++-------------
>  9 files changed, 225 insertions(+), 71 deletions(-)
> ---
> base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa
> change-id: 20240604-nfsd-next-b04c0d2d89a9
> 
> Best regards,
> -- 
> Jeff Layton <jlayton@kernel.org>
>