mbox series

[v7,0/5] convert write_threads, write_version and write_ports to netlink commands

Message ID cover.1712853393.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 11, 2024, 4:47 p.m. UTC
Introduce write_threads, write_version and write_ports netlink
commands similar to the ones available through the procfs.

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://github.com/LorenzoBianconi/nfsdctl

Jeff Layton (1):
  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 |  94 ++++++
 fs/nfsd/netlink.c                     |  63 ++++
 fs/nfsd/netlink.h                     |  10 +
 fs/nfsd/netns.h                       |   1 +
 fs/nfsd/nfsctl.c                      | 433 ++++++++++++++++++++++++++
 fs/nfsd/nfssvc.c                      |   3 +-
 include/linux/sunrpc/svc_xprt.h       |   5 +
 include/uapi/linux/nfsd_netlink.h     |  44 +++
 net/sunrpc/svc_xprt.c                 | 167 ++++++----
 9 files changed, 760 insertions(+), 60 deletions(-)

Comments

Jeff Layton April 11, 2024, 5:36 p.m. UTC | #1
On Thu, 2024-04-11 at 18:47 +0200, Lorenzo Bianconi wrote:
> Introduce write_threads, write_version and write_ports netlink
> commands similar to the ones available through the procfs.
> 
> 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://github.com/LorenzoBianconi/nfsdctl
> 

I'm reworking the interface on that tool and adding it to nfs-utils as
well. Patches will be coming soon.

> Jeff Layton (1):
>   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 |  94 ++++++
>  fs/nfsd/netlink.c                     |  63 ++++
>  fs/nfsd/netlink.h                     |  10 +
>  fs/nfsd/netns.h                       |   1 +
>  fs/nfsd/nfsctl.c                      | 433 ++++++++++++++++++++++++++
>  fs/nfsd/nfssvc.c                      |   3 +-
>  include/linux/sunrpc/svc_xprt.h       |   5 +
>  include/uapi/linux/nfsd_netlink.h     |  44 +++
>  net/sunrpc/svc_xprt.c                 | 167 ++++++----
>  9 files changed, 760 insertions(+), 60 deletions(-)
> 

Reviewed-by: Jeff Layton <jlayton@kernel.org>