All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amir Goldstein <amir73il@gmail.com>
To: "J . Bruce Fields" <bfields@fieldses.org>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
	Jeff Layton <jlayton@poochiereds.net>,
	overlayfs <linux-unionfs@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH 00/14] Overlayfs NFS export support
Date: Thu, 9 Nov 2017 21:59:10 +0200	[thread overview]
Message-ID: <CAOQ4uxiCx=nsSQ=XDVSOypMk9avkDn3P2YDaCoPXwFs20Qo8_g@mail.gmail.com> (raw)
In-Reply-To: <20171109190252.GL8773@fieldses.org>

On Thu, Nov 9, 2017 at 9:02 PM, J . Bruce Fields <bfields@fieldses.org> wrote:
> 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?

Not an issue anymore.
I replied one day after this email that:

FYI, I implemented encoding of type OVL_FILEID_WITH_PARENT and
pushed 2 more patches to branch ovl-nfs-export-v1, so now export with
'subtree_check' should work fine.

I used a test patch (at the tip of ovl-nfs-export-v1) to encode connectable
file handles from name_to_handle_at() to unit test this code with my xfstests.

>
>> 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?
>

I can try that, but I also need to create some setups with files in
lower dir and merge dirs and run tests on those, i.e. not only
files that the test creates.

BTW, the patches passed all the tests I wrote, I rebased them
on latest overlayfs-next, but still need to cleanup the series before
I post V2.

Thanks,
Amir.

  parent reply	other threads:[~2017-11-09 19:59 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
2017-11-09 19:20   ` Jeff Layton
2017-11-09 19:59   ` Amir Goldstein [this message]
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='CAOQ4uxiCx=nsSQ=XDVSOypMk9avkDn3P2YDaCoPXwFs20Qo8_g@mail.gmail.com' \
    --to=amir73il@gmail.com \
    --cc=bfields@fieldses.org \
    --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.