All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Marco Nelissen <marco.nelissen@gmail.com>,
	overlayfs <linux-unionfs@vger.kernel.org>,
	Ext4 <linux-ext4@vger.kernel.org>,
	Gabriel Krisman Bertazi <krisman@collabora.com>,
	"Darrick J. Wong" <darrick.wong@oracle.com>
Subject: Re: which lower filesystems are actually supported?
Date: Sun, 2 Jun 2019 14:00:58 -0400	[thread overview]
Message-ID: <20190602180057.GA4865@mit.edu> (raw)
In-Reply-To: <CAOQ4uxgPXBazE-g2v=T_vOvnr_f0ZHyKYZ4wvn7A3ePatZrhnQ@mail.gmail.com>

On Sun, Jun 02, 2019 at 09:42:54AM +0300, Amir Goldstein wrote:
> [+cc ext4] Heads up on bug reports "Overlayfs fails to mount with ext4"
> 
> On Sat, Jun 1, 2019 at 11:02 PM Marco Nelissen <marco.nelissen@gmail.com> wrote:
> >
> > According to the documentation, "The lower filesystem can be any filesystem
> > supported by Linux", however this appears to not actually be the case, since
> > using a vfat filesystem results in the mount command printing "mount:
> > wrong fs type, bad option, bad superblock on overlay, missing codepage or
> > helper program, or other error", with dmesg saying "overlayfs: filesystem on
> > '/boot' not supported".
> > (that's from ovl_mount_dir_noesc(), when ovl_dentry_weird() returns nonzero)
> 
> Specifically for vfat it is weird because of
> dentry->d_flags & (DCACHE_OP_HASH | DCACHE_OP_COMPARE)
> because it is case insensitive.

Marco, did you actually *need* to use the case insensitive feature?
It is not turned on by default by e2fsprogs, and the assumption was
that it only be turned in cases where it was needed --- e.g., VM's
running Steam games that need Microsoft file system semantics,
including case insensitivity, Samba (and eventually NFSv4) file
servers for the same reason, and Android (so people won't have to try
to get the abomination known as sdcardfs upstream :-).

> 
> I am guessing when people start using case insensitive enabled ext4,
> this problem
> is going to surface, because the same ext4 (e.g. root fs) could be
> used for samba
> export (case insensitive) and docker storage (overlayfs).

So I didn't think this would be that common, since you can certainly
run Sambda without this new file system feature --- Samba has lived
without it for over a decade.  However, if you are running a high
performance file server, it matters --- but if you're running a high
performance file server, you're certainly not going to be trying to do
it on the same server as one running Docker.

Now, if you're trying to use overlayfs for some kind of snapshot
application, then we'll need to figure out how to make overlayfs and
ext4 work together --- but I view this as much more over an overlay
compatibility issue than an ext4 bug.

We *might* be able to only set the dentry functions on directory
entries belonging to directories which have the casefold flag set,
instead of simply setting it on all ext4 dentry entries.  But still
won't change the fact that overlayfs is going to have case
insensitivity support if we want the combination of overlayfs &&
casefold to be supported.

> I didn't see that xfstests-bld was updated with case folding configs for ext4,
> nor that xfstests has any new case folding tests (saw some posted), so I guess
> that is still in the works (?).

That's correct, it's still on the todo list.

> Did you happen to try out overlayfs/docker over a case insensitive enabled fs?

Nope.  I didn't think that was going to be a common use case.  Docker
is typically used on servers, where as case insensitivity is important
for clients and file servers --- at least on the general case.

> I wonder if you could spare a few extra GCE instances per pre-release tests
> to run an overlay over ext4 config?
> I was nagging Darrick about this for a while and now I think the
> overlay/xfs config
> is being tested regularly.

It wouldn't be that hard to test overlayfs with ext4 for my
pre-release testing.  But it would only be in the default ext4
configuration --- and that doesn't include the case fold feature.

	      	      	   	   	   - Ted

  reply	other threads:[~2019-06-02 18:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-01 20:01 which lower filesystems are actually supported? Marco Nelissen
2019-06-02  6:42 ` Amir Goldstein
2019-06-02 18:00   ` Theodore Ts'o [this message]
2019-06-02 20:00     ` Amir Goldstein
2019-06-02 23:18     ` Amir Goldstein
2019-06-03  5:41       ` Gabriel Krisman Bertazi

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=20190602180057.GA4865@mit.edu \
    --to=tytso@mit.edu \
    --cc=amir73il@gmail.com \
    --cc=darrick.wong@oracle.com \
    --cc=krisman@collabora.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=marco.nelissen@gmail.com \
    /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.