[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-nfs
Subject:    Re: [PATCH nfs-utils v3 0/3] nfsdctl: new nfs-utils tool for managing the kernel NFS server
From:       Steve Dickson <steved () redhat ! com>
Date:       2024-05-10 18:15:14
Message-ID: db26ef11-a804-4718-928b-de073011ee76 () redhat ! com
[Download RAW message or body]

Hello

On 4/23/24 12:31 PM, Jeff Layton wrote:
> Lorenzo posted an updated version of his netlink interface patches [1],
> so here is an updated version of the companion userland patches. To be
> clear, to test these, you need a kernel with his netlink patches.
> 
> The series adds a new tool to nfs-utils called nfsdctl, intended
> as an eventual replacement for rpc.nfsd. It's a subcommand based
> interface like nmcli or virsh, so we can easily expand the interface
> later to deal with new sorts of configuration.
> 
> This version of the tool should be at feature parity with rpc.nfsd, at
> least as far as autostarting the server. This posting also includes a
> manpage and an update to the nfs-server systemctl service, to start
> using the new interface when possible.
> 
> I've also included a patch that adds the manpage source. It's much nicer
> to edit that and regenerate it if we have to update it later. We can
> drop that patch if you just want to keep the result though.
> 
> The one thing that's not quite right here is the way the nfsd_netlink.h
> file is handled. This set includes a copy of the proposed header, but it
> would be better to build against the UAPI header in the kernel-headers
> package instead. Older kernels have a subset of the new interface
> though, so we can't build this against that file universally.
> 
> Is there a good way to test for the presence of an enum value in
> autoconf? I didn't see any macros for it, but maybe there is some
> generic test for C symbols we can use?
> 
> [1]: https://lore.kernel.org/linux-nfs/cover.1713878413.git.lorenzo@kernel.org/T/#m5fd847189894f58e93706c40340e18858f242a27
>  
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> Changes in v3:
> - split nfsdctl.h so we can include the UAPI header as-is
> - squash the patches together that added Lorenzo's version and convert
> it to the new interface
> - adapt to latest version of netlink interface changes
> + have THREADS_SET/GET report an array of thread counts (one per pool)
> + pass scope in as a string to THREADS_SET instead of using unshare() trick
> 
> Changes in v2:
> - Adapt to latest kernel netlink interface changes (in particular, send
> the leastime and gracetime when they are set in the config).
> - More help text for different subcommands
> - New nfsdctl(8) manpage
> - Patch to make systemd preferentially use nfsdctl instead of rpc.nfsd
> - Link to v1: https://lore.kernel.org/r/20240412-nfsdctl-v1-0-efd6dcebcc04@kernel.org
>  
> ---
> Jeff Layton (2):
> nfsdctl: asciidoc source for the manpage
> systemd: use nfsdctl to start and stop the nfs server
> 
> Lorenzo Bianconi (1):
> nfsdctl: add the nfsdctl utility to nfs-utils
> 
> configure.ac                 |   13 +
> systemd/nfs-server.service   |    4 +-
> utils/Makefile.am            |    4 +
> utils/nfsdctl/Makefile.am    |   13 +
> utils/nfsdctl/nfsd_netlink.h |   86 +++
> utils/nfsdctl/nfsdctl.8      |  274 ++++++++
> utils/nfsdctl/nfsdctl.adoc   |  140 +++++
> utils/nfsdctl/nfsdctl.c      | 1426 ++++++++++++++++++++++++++++++++++++++++++
> utils/nfsdctl/nfsdctl.h      |   93 +++
> 9 files changed, 2051 insertions(+), 2 deletions(-)
> ---
> base-commit: c6aa75d25b79121c4cf83ae09a04f8728c4e6593
> change-id: 20240412-nfsdctl-fa8bd8430cfd

I'm having a heck of a time to get this command to work.

On all of the sub commands I'm getting this error
     Error: Operation not supported

Debugging the "nfsdctl listener" command
the nl_recvmsgs() erroring out with -95

I'm assuming "nfnetlink" is the module
and it is loaded.

Something is missing... for all the commands
to fail like that... Not clear to what it is.

steved.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic