linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).