All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J . Bruce Fields" <bfields@fieldses.org>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
	Jeff Layton <jlayton@poochiereds.net>,
	linux-unionfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 00/14] Overlayfs NFS export support
Date: Thu, 9 Nov 2017 14:02:52 -0500	[thread overview]
Message-ID: <20171109190252.GL8773@fieldses.org> (raw)
In-Reply-To: <1508258671-10800-1-git-send-email-amir73il@gmail.com>

On Tue, Oct 17, 2017 at 07:44:17PM +0300, Amir Goldstein wrote:
> Miklos,
> 
> This series implements NFS export support [3] and is based on
> two prep patch sets [1][2] posted earlier to overlayfs list.
> NFS export is enabled for overlayfs mount with the 'verify_dir'
> and 'index=all' mount options.
> 
> The current implementation will copy up and index directories when
> directory file handles are encoded. Those extra copy ups could be
> avoided in the future.
> 
> The current implementation does NOT support encoding connectable
> non-dir file handles for all overlay path types, so overlayfs should
> not be exported with the 'subtree_check' option.
> I hope this is not a show stopper for merging NFS export support?

I'm not a big fan of subtree_check, and I'd be OK with filesystems
opting out of support for it.

I'm not sure what to expect when you actually try to export overlayfs
with subtree_check.  Does it fail on the export, or when clients first
try to access it, and what kind of error do you get?

> You'll notice that the series start by implementing naiive support
> for pure upper files export and later on, replaces the implementation
> of some of the operations. This may seem strange, but I found it
> convenient to progress slowly between testable mile stones and I find
> the series easier to review this way. Let me know if you want me to
> change the way that this series is organized to get rid of code that
> is later removed.
> 
> To unit test overlayfs file handles, I enhanced xfstest open_by_handle
> test utility to encode/decode directories and check several other cases
> that were not covered by the original xfstest test. On my xfstests NFS
> export branch [4], there are two generic tests and one overlayfs specific
> test on the 'exportfs' group.
> 
> I also ran the NFSTest nfstest_posix group on an exported overlayfs
> mount, but that test only creates pure upper files in overlay upper dir,
> so it is not much of a stress to the implementation.

Might also be interesting to run some nfs tests in a loop while
restarting the server?

--b.

> 
> Amir.
> 
> [1] https://github.com/amir73il/linux/commits/ovl-verify-dir
> [2] https://github.com/amir73il/linux/commits/ovl-index-all
> [3] https://github.com/amir73il/linux/commits/ovl-nfs-export
> [4] https://github.com/amir73il/xfstests/commits/ovl-nfs-export
> 
> Amir Goldstein (14):
>   ovl: hash all overlay inodes for NFS export
>   ovl: grab i_count reference of lower inode
>   ovl: use d_splice_alias() in place of d_add() in lookup
>   ovl: copy up of disconnected dentries
>   ovl: encode/decode pure-upper non-connectable file handles
>   ovl: encode pure-upper connectable file handles
>   ovl: decode pure-upper connectable file handles
>   ovl: encode/decode struct ovl_fh format file handles
>   ovl: encode non-pure-upper non-connectable file handles
>   ovl: obtain a non-pure-upper disconnected dentry
>   ovl: decode non-pure-upper non-connectable file handles
>   ovl: reconnect non-pure-upper dir file handles
>   ovl: wire up NFS export support
>   ovl: document NFS export
> 
>  Documentation/filesystems/overlayfs.txt |  61 +++++
>  fs/overlayfs/Makefile                   |   3 +-
>  fs/overlayfs/copy_up.c                  |  74 ++++--
>  fs/overlayfs/export.c                   | 433 ++++++++++++++++++++++++++++++++
>  fs/overlayfs/inode.c                    |  23 +-
>  fs/overlayfs/namei.c                    |  96 ++++---
>  fs/overlayfs/overlayfs.h                |  32 ++-
>  fs/overlayfs/super.c                    |  25 ++
>  fs/overlayfs/util.c                     |  13 +-
>  9 files changed, 678 insertions(+), 82 deletions(-)
>  create mode 100644 fs/overlayfs/export.c
> 
> -- 
> 2.7.4

  parent reply	other threads:[~2017-11-09 19:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-17 16:44 [PATCH 00/14] Overlayfs NFS export support Amir Goldstein
2017-10-17 16:44 ` [PATCH 01/14] ovl: hash all overlay inodes for NFS export Amir Goldstein
2017-10-17 16:44 ` [PATCH 02/14] ovl: grab i_count reference of lower inode Amir Goldstein
2017-10-17 16:44 ` [PATCH 03/14] ovl: use d_splice_alias() in place of d_add() in lookup Amir Goldstein
2017-10-17 16:44 ` [PATCH 04/14] ovl: copy up of disconnected dentries Amir Goldstein
2017-10-17 16:44 ` [PATCH 05/14] ovl: encode/decode pure-upper non-connectable file handles Amir Goldstein
2017-10-17 16:44 ` [PATCH 06/14] ovl: encode pure-upper connectable " Amir Goldstein
2017-10-18 18:35   ` Amir Goldstein
2017-10-17 16:44 ` [PATCH 07/14] ovl: decode " Amir Goldstein
2017-10-17 16:44 ` [PATCH 08/14] ovl: encode/decode struct ovl_fh format " Amir Goldstein
2017-10-18 18:31   ` Amir Goldstein
2017-10-17 16:44 ` [PATCH 09/14] ovl: encode non-pure-upper non-connectable " Amir Goldstein
2017-10-17 16:44 ` [PATCH 10/14] ovl: obtain a non-pure-upper disconnected dentry Amir Goldstein
2017-10-17 16:44 ` [PATCH 11/14] ovl: decode non-pure-upper non-connectable file handles Amir Goldstein
2017-10-17 16:44 ` [PATCH 12/14] ovl: reconnect non-pure-upper dir " Amir Goldstein
2017-10-17 16:44 ` [PATCH 13/14] ovl: wire up NFS export support Amir Goldstein
2017-10-17 16:44 ` [PATCH 14/14] ovl: document NFS export Amir Goldstein
2017-10-18 18:43 ` [PATCH 00/14] Overlayfs NFS export support Amir Goldstein
2017-11-09 19:02 ` J . Bruce Fields [this message]
2017-11-09 19:20   ` Jeff Layton
2017-11-09 19:59   ` Amir Goldstein
2017-11-09 21:55     ` J . Bruce Fields

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=20171109190252.GL8773@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=amir73il@gmail.com \
    --cc=jlayton@poochiereds.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    /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.