From: Lorenzo Bianconi <lorenzo@kernel.org>
To: Jeff Layton <jlayton@kernel.org>
Cc: linux-nfs@vger.kernel.org, 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: Sun, 12 Nov 2023 11:02:48 +0100 [thread overview]
Message-ID: <ZVCiyNQtkumDheU4@lore-desk> (raw)
In-Reply-To: <7fdd6dd0d8ab75181eb350f78a4822a039cacaa5.camel@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 3021 bytes --]
> 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...
Hi Jeff,
>
> 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.
what do you mean with 'weird behavior'? Something not expected?
>
> 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?
I do not have a strong opinion about it but I would say having a dedicated
set/get for each paramater allow us to have more granularity (e.g. if you want
to change just a parameter we do not need to send all of them to the kernel).
What do you think?
>
> That does presuppose we can send down a variable-length frame though,
> but I assume that is possible with netlink.
sure, we can do it.
Regards,
Lorenzo
> --
> Jeff Layton <jlayton@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2023-11-12 10:02 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 ` [PATCH v4 0/3] convert write_threads, write_version and write_ports to netlink commands Jeff Layton
2023-11-12 10:02 ` Lorenzo Bianconi [this message]
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=ZVCiyNQtkumDheU4@lore-desk \
--to=lorenzo@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=jlayton@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=lorenzo.bianconi@redhat.com \
--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;
as well as URLs for NNTP newsgroup(s).