mbox series

[v9,0/7] convert write_threads, write_version and write_ports to netlink commands

Message ID cover.1713878413.git.lorenzo@kernel.org (mailing list archive)
Headers show
Series convert write_threads, write_version and write_ports to netlink commands | expand

Message

Lorenzo Bianconi April 23, 2024, 1:25 p.m. UTC
Introduce write_threads, write_version and write_ports netlink
commands similar to the ones available through the procfs.

Changes since v8:
- introduce scope parameter to write_thread command
- add the capability to specity multiple threads in write_thread for future
  usage
- fix comments
Changes since v7:
- add gracetime and leasetime to threads-{set,get} command
- rely on nla_nest_start instead of nla_nest_start_noflag
Changes since v6:
- add the capability to pass sockaddr from userspace through listener-set
  command
- rebase on top of nfsd-next
Changes since v5:
- for write_ports and write_version commands, userspace is expected to provide
  a NFS listeners/supported versions list it want to enable (all the other
  ports/versions will be disabled).
- fix comments
- rebase on top of nfsd-next
Changes since v4:
- rebase on top of nfsd-next tree
Changes since v3:
- drop write_maxconn and write_maxblksize for the moment
- add write_version and write_ports commands
Changes since v2:
- use u32 to store nthreads in nfsd_nl_threads_set_doit
- rename server-attr in control-plane in nfsd.yaml specs
Changes since v1:
- remove write_v4_end_grace command
- add write_maxblksize and write_maxconn netlink commands

This patch can be tested with user-space tool reported below:
https://patchwork.kernel.org/project/linux-nfs/cover/20240412-nfsdctl-v1-0-efd6dcebcc04@kernel.org/

Jeff Layton (3):
  NFSD: move nfsd_mutex handling into nfsd_svc callers
  NFSD: allow callers to pass in scope string to nfsd_svc
  SUNRPC: add a new svc_find_listener helper

Lorenzo Bianconi (4):
  NFSD: convert write_threads to netlink command
  NFSD: add write_version to netlink command
  SUNRPC: introduce svc_xprt_create_from_sa utility routine
  NFSD: add listener-{set,get} netlink command

 Documentation/netlink/specs/nfsd.yaml | 110 ++++++
 fs/nfsd/netlink.c                     |  66 ++++
 fs/nfsd/netlink.h                     |  10 +
 fs/nfsd/netns.h                       |   1 +
 fs/nfsd/nfsctl.c                      | 517 +++++++++++++++++++++++++-
 fs/nfsd/nfsd.h                        |   2 +-
 fs/nfsd/nfssvc.c                      |  11 +-
 include/linux/sunrpc/svc_xprt.h       |   5 +
 include/uapi/linux/nfsd_netlink.h     |  47 +++
 net/sunrpc/svc_xprt.c                 | 167 ++++++---
 10 files changed, 870 insertions(+), 66 deletions(-)

Comments

Chuck Lever April 25, 2024, 2:07 p.m. UTC | #1
On Tue, Apr 23, 2024 at 03:25:37PM +0200, Lorenzo Bianconi wrote:
> Introduce write_threads, write_version and write_ports netlink
> commands similar to the ones available through the procfs.
> 
> Changes since v8:
> - introduce scope parameter to write_thread command
> - add the capability to specity multiple threads in write_thread for future
>   usage
> - fix comments
> Changes since v7:
> - add gracetime and leasetime to threads-{set,get} command
> - rely on nla_nest_start instead of nla_nest_start_noflag
> Changes since v6:
> - add the capability to pass sockaddr from userspace through listener-set
>   command
> - rebase on top of nfsd-next
> Changes since v5:
> - for write_ports and write_version commands, userspace is expected to provide
>   a NFS listeners/supported versions list it want to enable (all the other
>   ports/versions will be disabled).
> - fix comments
> - rebase on top of nfsd-next
> Changes since v4:
> - rebase on top of nfsd-next tree
> Changes since v3:
> - drop write_maxconn and write_maxblksize for the moment
> - add write_version and write_ports commands
> Changes since v2:
> - use u32 to store nthreads in nfsd_nl_threads_set_doit
> - rename server-attr in control-plane in nfsd.yaml specs
> Changes since v1:
> - remove write_v4_end_grace command
> - add write_maxblksize and write_maxconn netlink commands
> 
> This patch can be tested with user-space tool reported below:
> https://patchwork.kernel.org/project/linux-nfs/cover/20240412-nfsdctl-v1-0-efd6dcebcc04@kernel.org/
> 
> Jeff Layton (3):
>   NFSD: move nfsd_mutex handling into nfsd_svc callers
>   NFSD: allow callers to pass in scope string to nfsd_svc
>   SUNRPC: add a new svc_find_listener helper
> 
> Lorenzo Bianconi (4):
>   NFSD: convert write_threads to netlink command
>   NFSD: add write_version to netlink command
>   SUNRPC: introduce svc_xprt_create_from_sa utility routine
>   NFSD: add listener-{set,get} netlink command
> 
>  Documentation/netlink/specs/nfsd.yaml | 110 ++++++
>  fs/nfsd/netlink.c                     |  66 ++++
>  fs/nfsd/netlink.h                     |  10 +
>  fs/nfsd/netns.h                       |   1 +
>  fs/nfsd/nfsctl.c                      | 517 +++++++++++++++++++++++++-
>  fs/nfsd/nfsd.h                        |   2 +-
>  fs/nfsd/nfssvc.c                      |  11 +-
>  include/linux/sunrpc/svc_xprt.h       |   5 +
>  include/uapi/linux/nfsd_netlink.h     |  47 +++
>  net/sunrpc/svc_xprt.c                 | 167 ++++++---
>  10 files changed, 870 insertions(+), 66 deletions(-)
> 
> -- 
> 2.44.0
> 

Applied to nfsd-next (for v6.10) with many thanks!