Linux-NFS Archive mirror
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Steve Dickson <steved@redhat.com>,
	 Lorenzo Bianconi <lorenzo@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>,  Neil Brown <neilb@suse.de>
Cc: linux-nfs@vger.kernel.org, Jeff Layton <jlayton@kernel.org>
Subject: [PATCH nfs-utils v3 0/3] nfsdctl: new nfs-utils tool for managing the kernel NFS server
Date: Tue, 23 Apr 2024 12:31:52 -0400	[thread overview]
Message-ID: <20240423-nfsdctl-v3-0-9e68181c846d@kernel.org> (raw)

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

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>


             reply	other threads:[~2024-04-23 16:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-23 16:31 Jeff Layton [this message]
2024-04-23 16:31 ` [PATCH nfs-utils v3 1/3] nfsdctl: add the nfsdctl utility to nfs-utils Jeff Layton
2024-04-23 16:31 ` [PATCH nfs-utils v3 2/3] nfsdctl: asciidoc source for the manpage Jeff Layton
2024-04-23 16:31 ` [PATCH nfs-utils v3 3/3] systemd: use nfsdctl to start and stop the nfs server Jeff Layton
2024-05-10 18:15 ` [PATCH nfs-utils v3 0/3] nfsdctl: new nfs-utils tool for managing the kernel NFS server Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240423-nfsdctl-v3-0-9e68181c846d@kernel.org \
    --to=jlayton@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=neilb@suse.de \
    --cc=steved@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).