From: NeilBrown <neilb@suse.com>
To: Chuck Lever <chuck.lever@oracle.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH v4 0/5] NFS basic junction support for nfs-utils
Date: Wed, 07 Feb 2018 17:30:08 +1100 [thread overview]
Message-ID: <878tc5nwgf.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <20180129232527.10141.69789.stgit@manet.1015granger.net>
[-- Attachment #1: Type: text/plain, Size: 5166 bytes --]
On Mon, Jan 29 2018, Chuck Lever wrote:
> Still UNTESTED.
>
> A while back I announced the deprecation of fedfs-utils. There were
> a handful of components in fedfs-utils that we decided to keep. One
> of those keepers was the "nfsref" command. (The other was autofs
> support for /nfs4, which I hope Ian Kent is making progress on ;-)
>
> This series introduces "nfsref" to nfs-utils, minus the overhead of
> the LDAP / FedFS machinery, and it builds support for NFS basic
> junctions into mountd, replacing the need to install a plug-in DLL
> from fedfs-utils.
>
> I didn't apply a lot of brain cells to this port, so it's perhaps a
> little larger than it needs to be. Still, it achieves a completely
> LDAP-free implementation that resides 100% in nfs-utils. I'm
> interested in comments about the approach before I do more testing
> and refinement.
It looks sensible to me, though I must confess that I haven't given much
thought to the use of junctions, and have never tried working with them.
If I understand correctly, you can already do junctions by putting
archane magic in /etc/exports, and possibly performing
mount --bind /foo /foo
With the patch to mountd, you can put the archane magic in an
xattr on the directory, and skip the --bind mount.
Then "nfsref" is a funky tool which adds/lists/removes the archane magic
in a human-readable fashion.
That sounds like a generally sensible idea. There seems to be rather
more code than I would expect for that functionality, but you've already
admitted that, so no surprise there.
I was rather surprised to see an rpcgen generated file without the .x.
I think I understand why that is, and that is one place that you will
probably remove a lot of unnecessary content, including the comment
about rpcgen.
So: +1
Thanks,
NeilBrown
>
> ./configure --enable-junction --enable-caps
>
> is needed before building.
>
>
> Changes since v3:
> Broke up the first patch because it was apparently too large to
> be reflected through vger.kernel.org.
>
>
> Changes since v2:
> None.
>
>
> Changes since RFC (v1):
> Patch 2/3 in the original series added the libnfsjunct.so DLL to
> nfs-utils. Series v2 instead replaces 2/3 with a patch that puts
> support for junctions into mountd without the need for a DLL.
>
> ---
>
> Chuck Lever (5):
> Add headers to support libjunction
> Add infrastructure for libjunction
> Add LDAP-free version of libjunction to nfs-utils
> mountd: Solder in support for NFS basic junctions
> Add LDAP-free 'nfsref' command
>
>
> aclocal/libxml2.m4 | 15
> configure.ac | 17
> support/Makefile.am | 4
> support/include/Makefile.am | 2
> support/include/fedfs_admin.h | 342 +++++++
> support/include/junction.h | 125 +++
> support/junction/Makefile.am | 34 +
> support/junction/display.c | 159 +++
> support/junction/export-cache.c | 118 +++
> support/junction/junction-internal.h | 121 +++
> support/junction/junction.c | 494 +++++++++++
> support/junction/locations.c | 131 +++
> support/junction/nfs.c | 1564 ++++++++++++++++++++++++++++++++++
> support/junction/path.c | 345 ++++++++
> support/junction/xml.c | 401 +++++++++
> utils/Makefile.am | 4
> utils/mountd/Makefile.am | 8
> utils/mountd/cache.c | 189 ++--
> utils/nfsref/Makefile.am | 39 +
> utils/nfsref/add.c | 271 ++++++
> utils/nfsref/lookup.c | 211 +++++
> utils/nfsref/nfsref.c | 188 ++++
> utils/nfsref/nfsref.h | 47 +
> utils/nfsref/nfsref.man | 180 ++++
> utils/nfsref/remove.c | 145 +++
> 25 files changed, 5050 insertions(+), 104 deletions(-)
> create mode 100644 aclocal/libxml2.m4
> create mode 100644 support/include/fedfs_admin.h
> create mode 100644 support/include/junction.h
> create mode 100644 support/junction/Makefile.am
> create mode 100644 support/junction/display.c
> create mode 100644 support/junction/export-cache.c
> create mode 100644 support/junction/junction-internal.h
> create mode 100644 support/junction/junction.c
> create mode 100644 support/junction/locations.c
> create mode 100644 support/junction/nfs.c
> create mode 100644 support/junction/path.c
> create mode 100644 support/junction/xml.c
> create mode 100644 utils/nfsref/Makefile.am
> create mode 100644 utils/nfsref/add.c
> create mode 100644 utils/nfsref/lookup.c
> create mode 100644 utils/nfsref/nfsref.c
> create mode 100644 utils/nfsref/nfsref.h
> create mode 100644 utils/nfsref/nfsref.man
> create mode 100644 utils/nfsref/remove.c
>
> --
> Chuck Lever
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2018-02-07 6:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-29 23:28 [PATCH v4 0/5] NFS basic junction support for nfs-utils Chuck Lever
2018-01-29 23:28 ` [PATCH v4 1/5] Add headers to support libjunction Chuck Lever
2018-01-29 23:29 ` [PATCH v4 2/5] Add infrastructure for libjunction Chuck Lever
2018-01-29 23:29 ` [PATCH v4 3/5] Add LDAP-free version of libjunction to nfs-utils Chuck Lever
2018-01-29 23:29 ` [PATCH v4 4/5] mountd: Solder in support for NFS basic junctions Chuck Lever
2018-01-29 23:29 ` [PATCH v4 5/5] Add LDAP-free 'nfsref' command Chuck Lever
2018-02-07 6:30 ` NeilBrown [this message]
2018-02-07 16:17 ` [PATCH v4 0/5] NFS basic junction support for nfs-utils Chuck Lever
2018-02-07 18:49 ` 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=878tc5nwgf.fsf@notabene.neil.brown.name \
--to=neilb@suse.com \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@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).