mbox series

[v8,0/6] convert write_threads, write_version and write_ports to netlink commands

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

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 (2):
  nfsd: move nfsd_mutex handling into nfsd_svc callers
  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 | 104 ++++++
 fs/nfsd/netlink.c                     |  65 ++++
 fs/nfsd/netlink.h                     |  10 +
 fs/nfsd/netns.h                       |   1 +
 fs/nfsd/nfsctl.c                      | 476 ++++++++++++++++++++++++++
 fs/nfsd/nfssvc.c                      |   7 +-
 include/linux/sunrpc/svc_xprt.h       |   5 +
 include/uapi/linux/nfsd_netlink.h     |  46 +++
 net/sunrpc/svc_xprt.c                 | 167 +++++----
 9 files changed, 819 insertions(+), 62 deletions(-)

Comments

Chuck Lever April 16, 2024, 7:05 p.m. UTC | #1
On Mon, Apr 15, 2024 at 09:44:33PM +0200, Lorenzo Bianconi wrote:
> Introduce write_threads, write_version and write_ports netlink
> commands similar to the ones available through the procfs.
> 
> 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 (2):
>   nfsd: move nfsd_mutex handling into nfsd_svc callers
>   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 | 104 ++++++
>  fs/nfsd/netlink.c                     |  65 ++++
>  fs/nfsd/netlink.h                     |  10 +
>  fs/nfsd/netns.h                       |   1 +
>  fs/nfsd/nfsctl.c                      | 476 ++++++++++++++++++++++++++
>  fs/nfsd/nfssvc.c                      |   7 +-
>  include/linux/sunrpc/svc_xprt.h       |   5 +
>  include/uapi/linux/nfsd_netlink.h     |  46 +++
>  net/sunrpc/svc_xprt.c                 | 167 +++++----
>  9 files changed, 819 insertions(+), 62 deletions(-)
> 
> -- 
> 2.44.0
> 

I'd like to take these for v6.10, just to get something we can start
working on together in the same body of source code. I've been
waiting for a degree of consensus between you three... Hopefully
this week or early next?