From: Trond Myklebust <trondmy@hammerspace.com>
To: "neilb@suse.de" <neilb@suse.de>,
"bcodding@redhat.com" <bcodding@redhat.com>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: v4 clientid uniquifiers in containers/namespaces
Date: Tue, 8 Feb 2022 23:34:19 +0000 [thread overview]
Message-ID: <06e2a692e587d1ffcccd14d465136df228149e4c.camel@hammerspace.com> (raw)
In-Reply-To: <164435376000.27779.4059629372785561121@noble.neil.brown.name>
On Wed, 2022-02-09 at 07:56 +1100, NeilBrown wrote:
> On Tue, 08 Feb 2022, Benjamin Coddington wrote:
> > On 7 Feb 2022, at 20:59, NeilBrown wrote:
> >
> > > On Sun, 06 Feb 2022, Benjamin Coddington wrote:
> > > > Hi all,
> > > >
> > > > Is anyone using a udev(-like) implementation with
> > > > NETLINK_LISTEN_ALL_NSID?
> > > > It looks like that is at least necessary to allow the init
> > > > namespaced udev
> > > > to receive notifications on
> > > > /sys/fs/nfs/net/nfs_client/identifier, which
> > > > would be a pre-req to automatically uniquify in containers.
> > >
> > > Could you walk me through the reasoning here - or point me to
> > > where it
> > > has been discussed.
> >
> > https://lore.kernel.org/linux-nfs/20210414181040.7108-1-steved@redhat.com/
>
> Thanks. I did remember that discussion though it was helpful to
> refresh
> my memory, and to be sure there is nothing else.
>
> >
> > > It seems to me that mount.nfs is the place to set
> > > nfs_client/identifier.
> > > It can be told (via /etc/nfs.conf or /etc/nfsmount.conf) how to
> > > generate
> > > and where to store the identifier. It can check the current
> > > value and
> > > update if needed. As long as the identifier is set before the
> > > first
> > > mount, there is no rush.
> > >
> > > Why does it need to be done in response to a uevent??
> >
> > I think the assertion was that it was the only sensible way, and it
> > does
> > seem to be better than exposing yet another knob when all that's
> > needed is a
> > way to distinguish and persist NFS clients when network namespaces
> > can come
> > and go at any time, and there can be a lot of them.
>
> "assertion" is an apt word. There wasn't a whole lot of reasoned
> argument, mostly just assertions.
>
> The best argument was that "nfs.conf is not namespace aware", which
> is
> only somewhat true. Using "ip netnfs exec" will make
> non-namepsace-aware tools work correctly in namespaces providing
> their
> config files are in /etc/netns/NAME - they get bind-mounted over the
> files in /etc.
> And of course /etc/nfs.conf can be MADE namespace aware.
>
> There is also a reasonable argument that auto-editiing /etc/nfs.conf
> risks collision with an admin, but that is why we have
> /etc/nfs.conf.d
>
> For me, the weakest part of the Steve's case was that he presented it
> as
> "setting module parameters via nfs.conf" rather than "configuring
> client
> identity via nfs.conf". A number of the early negative responses
> were
> focused on the distraction of a module parameter being involved.
>
> The weakness for the alternative, of course, is the fact that using
> the
> udev mechanism requires running udevd in each network namespace,
> which
> is an unnecessary burden.
>
> So I still STRONGLY think that the identity should be set by
> mount.nfs
> reading (and writing) some file in /etc or /etc/netnfs/NAME, and I
> weakly think that the file should be in /etc/nfs.conf.d/ so that the
> reading is automagic.
>
No. It's not a per-mount setting, so it has no business being in the
mount protocol.
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com
next prev parent reply other threads:[~2022-02-08 23:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-05 15:03 v4 clientid uniquifiers in containers/namespaces Benjamin Coddington
2022-02-05 18:24 ` Trond Myklebust
2022-02-05 19:50 ` Benjamin Coddington
2022-02-07 14:05 ` Benjamin Coddington
2022-02-07 15:49 ` Chuck Lever III
2022-02-07 19:38 ` Trond Myklebust
2022-02-07 23:59 ` Chuck Lever III
2022-02-08 11:32 ` Benjamin Coddington
2022-02-08 13:45 ` Trond Myklebust
2022-02-08 14:29 ` Benjamin Coddington
2022-02-08 14:42 ` Chuck Lever III
2022-02-08 15:23 ` Benjamin Coddington
2022-02-08 15:43 ` Trond Myklebust
2022-02-08 15:47 ` Trond Myklebust
2022-02-08 16:18 ` Benjamin Coddington
2022-02-08 16:47 ` Trond Myklebust
2022-02-08 17:45 ` Benjamin Coddington
2022-02-08 1:59 ` NeilBrown
2022-02-08 11:52 ` Benjamin Coddington
2022-02-08 20:56 ` NeilBrown
2022-02-08 23:34 ` Trond Myklebust [this message]
2022-02-09 1:24 ` NeilBrown
2022-02-15 16:57 ` Benjamin Coddington
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=06e2a692e587d1ffcccd14d465136df228149e4c.camel@hammerspace.com \
--to=trondmy@hammerspace.com \
--cc=bcodding@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
/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