From: Scott Mayhew <smayhew@redhat.com>
To: Jeff Layton <jlayton@kernel.org>
Cc: steved@redhat.com, yoyang@redhat.com, linux-nfs@vger.kernel.org
Subject: Re: [nfs-utils PATCH v2 0/2] nfsdctl version handling fixes
Date: Mon, 13 Jan 2025 18:11:50 -0500 [thread overview]
Message-ID: <Z4Wdtg6yvrfbSLT0@aion> (raw)
In-Reply-To: <6553ee0f1fd57c64db76333efb47fca007f61693.camel@kernel.org>
On Sat, 11 Jan 2025, Jeff Layton wrote:
> On Fri, 2025-01-10 at 15:17 -0500, Scott Mayhew wrote:
> > Two changes in how nfsdctl does version handling. The first patch makes
> > the 'nfsdctl version' command behave according to the man page for w.r.t
> > handling +4/-4, e.g.
> >
> > # utils/nfsdctl/nfsdctl
> > nfsdctl> threads 0
> > nfsdctl> version
> > +3.0 +4.0 +4.1 +4.2
> > nfsdctl> version -4
> > nfsdctl> version
> > +3.0 -4.0 -4.1 -4.2
> > nfsdctl> version +4
> > nfsdctl> version
> > +3.0 +4.0 +4.1 +4.2
> > nfsdctl> version -4 +4.2
> > nfsdctl> version
> > +3.0 -4.0 -4.1 +4.2
> > nfsdctl> ^D
> >
> > The second patch makes nfsdctl's handling of the nfsd version options in
> > nfs.conf behave like rpc.nfsd's. This is important since the systemd
> > service file will fall back to rpc.nfsd if nfsdctl fails. I'll send a
> > test script and test results in a followup email.
> >
> > -Scott
> >
> > Scott Mayhew (2):
> > nfsdctl: tweak the version subcommand behavior
> > nfsdctl: tweak the nfs.conf version handling
> >
> > utils/nfsdctl/nfsdctl.c | 69 +++++++++++++++++++++++++++++++++++------
> > 1 file changed, 59 insertions(+), 10 deletions(-)
> >
>
> LGTM!
>
> Reviewed-by: Jeff Layton <jlayton@kernel.org>
>
If you look at my test results, you'll notice that I was skipping the
test whenever vers3=n and vers4=n. I was mainly doing this because in
those cases rpc.nfsd would error out with the message "no version
specified", while nfsdctl would not. But when I went ahead and tested
those scenarios, rpc.nfsd's behavior seemed incorrect in several of
them.
For example, consider this scenario:
# cat /etc/nfs.conf
[nfsd]
vers3=n
vers4=n
vers4.0=n
vers4.1=n
vers4.2=y
# rpc.nfsd 16
rpc.nfsd: no version specified
That shouldn't have failed, because v4.2 is enabled... and before anyone
chimes in claiming that vers4=n should override any vers4.x=y config option,
consider this scenario:
# cat /etc/nfs.conf
[nfsd]
vers3=3
vers4=n
vers4.0=n
vers4.1=n
vers4.2=y
# rpc.nfsd 16
# cat /proc/fs/nfsd/versions
+3 +4 -4.0 -4.1 +4.2
So anyways, a v3 patchset is incoming that changes both nfsdctl and
rpc.nfsd so that they behave more consistently.
-Scott
prev parent reply other threads:[~2025-01-13 23:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-10 20:17 [nfs-utils PATCH v2 0/2] nfsdctl version handling fixes Scott Mayhew
2025-01-10 20:17 ` [nfs-utils PATCH v2 1/2] nfsdctl: tweak the version subcommand behavior Scott Mayhew
2025-01-10 20:17 ` [nfs-utils PATCH v2 2/2] nfsdctl: tweak the nfs.conf version handling Scott Mayhew
2025-01-10 20:26 ` [nfs-utils PATCH v2 0/2] nfsdctl version handling fixes Scott Mayhew
2025-01-11 12:30 ` Jeff Layton
2025-01-13 23:11 ` Scott Mayhew [this message]
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=Z4Wdtg6yvrfbSLT0@aion \
--to=smayhew@redhat.com \
--cc=jlayton@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=steved@redhat.com \
--cc=yoyang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.