Linux NFS development
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Lorenzo Bianconi <lorenzo@kernel.org>, linux-nfs@vger.kernel.org
Cc: lorenzo.bianconi@redhat.com, neilb@suse.de,
	chuck.lever@oracle.com, netdev@vger.kernel.org, kuba@kernel.org
Subject: Re: [PATCH v4 0/3] convert write_threads, write_version and write_ports to netlink commands
Date: Sat, 11 Nov 2023 14:52:43 -0500	[thread overview]
Message-ID: <7fdd6dd0d8ab75181eb350f78a4822a039cacaa5.camel@kernel.org> (raw)
In-Reply-To: <cover.1699095665.git.lorenzo@kernel.org>

On Sat, 2023-11-04 at 12:13 +0100, Lorenzo Bianconi wrote:
> Introduce write_threads, write_version and write_ports netlink
> commands similar to the ones available through the procfs.
> 
> 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/nfsd-netlink.git
> This series is based on the commit below available in net-next tree
> 
> commit e0fadcffdd172d3a762cb3d0e2e185b8198532d9
> Author: Jakub Kicinski <kuba@kernel.org>
> Date:   Fri Oct 6 06:50:32 2023 -0700
> 
>     tools: ynl-gen: handle do ops with no input attrs
> 
>     The code supports dumps with no input attributes currently
>     thru a combination of special-casing and luck.
>     Clean up the handling of ops with no inputs. Create empty
>     Structs, and skip printing of empty types.
>     This makes dos with no inputs work.
> 
> Lorenzo Bianconi (3):
>   NFSD: convert write_threads to netlink commands
>   NFSD: convert write_version to netlink commands
>   NFSD: convert write_ports to netlink commands
> 
>  Documentation/netlink/specs/nfsd.yaml |  83 ++++++++
>  fs/nfsd/netlink.c                     |  54 ++++++
>  fs/nfsd/netlink.h                     |   8 +
>  fs/nfsd/nfsctl.c                      | 267 +++++++++++++++++++++++++-
>  include/uapi/linux/nfsd_netlink.h     |  30 +++
>  tools/net/ynl/generated/nfsd-user.c   | 254 ++++++++++++++++++++++++
>  tools/net/ynl/generated/nfsd-user.h   | 156 +++++++++++++++
>  7 files changed, 845 insertions(+), 7 deletions(-)
> 

Nice work, Lorenzo! Now comes the bikeshedding...

With the nfsdfs interface, we sort of had to split things up into
multiple files like this, but it has some drawbacks, in particular with
weird behavior when people do things out of order.

Would it make more sense to instead have a single netlink command that
sets up ports and versions, and then spawns the requisite amount of
threads, all in one fell swoop?

That does presuppose we can send down a variable-length frame though,
but I assume that is possible with netlink.
-- 
Jeff Layton <jlayton@kernel.org>

  parent reply	other threads:[~2023-11-11 19:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-04 11:13 [PATCH v4 0/3] convert write_threads, write_version and write_ports to netlink commands Lorenzo Bianconi
2023-11-04 11:13 ` [PATCH v4 1/3] NFSD: convert write_threads to netlink command Lorenzo Bianconi
2023-11-11 18:57   ` Chuck Lever
2023-11-12  9:43     ` Lorenzo Bianconi
2023-11-04 11:13 ` [PATCH v4 2/3] NFSD: convert write_version " Lorenzo Bianconi
2023-11-04 16:01   ` kernel test robot
2023-11-04 11:13 ` [PATCH v4 3/3] NFSD: convert write_ports " Lorenzo Bianconi
2023-11-04 20:56   ` kernel test robot
2023-11-11 19:52 ` Jeff Layton [this message]
2023-11-12 10:02   ` [PATCH v4 0/3] convert write_threads, write_version and write_ports to netlink commands Lorenzo Bianconi
2023-11-12 11:09     ` Jeff Layton
2023-11-12 15:33       ` Chuck Lever III
2023-11-12 20:22       ` NeilBrown
2023-11-27 12:35         ` Jeff Layton

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=7fdd6dd0d8ab75181eb350f78a4822a039cacaa5.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=kuba@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=lorenzo.bianconi@redhat.com \
    --cc=lorenzo@kernel.org \
    --cc=neilb@suse.de \
    --cc=netdev@vger.kernel.org \
    /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