lkml.org 
[lkml]   [2014]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: How to cope with two incompatible overlayfs formats out in the wild
On Tue, Nov 18, 2014 at 03:28:03PM +0100, Miklos Szeredi wrote:
> [CC-ing mailing lists, Al and Linus for wider exposure]
>
> This issue is this: Ubuntu and SUSE carry an "old" format of overlayfs
> while mainline has a "new" format. The differences are:
>
> - whiteouts are represented differently (symlink + xattr in the old
> format, chardev in the new)
>
> - new one needs a "workdir" mount option, which points to a directory
> on the same filesystem as upperdir. If upperdir was the root of the
> filesystem then it needs to be moved into a subdir to make space for
> the work directory.
>
> Migrating from old to new is not a big issue, but Ubuntu people have
> expressed concerns about systems with mixed kernel versions and want
> to support the old format alongside the new.
>
> This can all be done with out-of-tree code.
>
> So from mainline we need two things:
>
> - when mounting distinguish between old and new format.
>
> - userspace can detect which formats are supported by the kernel.
>
> If we'd have a different filesystem type for the old and new formats,
> then that would solve both (checking /proc/filesystems would indicate
> which one is supported).
>
> Unfortunately that would mean having to change "overlayfs" type to
> something else in 3.18. Question is, is there some sane name which
> would fit? "overlayfs2" is perhaps the best, but I'm not overly
> enthusiastic about it.
>
> Any other ideas?

ext4 makes use of feature flags in /sys/fs/ext4/features. Perhaps we could
make use of this, say /sys/fs/overlayfs/features/{workdir,whiteout-chrdev},
or a even some kind of version in /sys/fs/overlayfs/version.

The presence of /sys/fs/overlayfs itself might be enought to assume the
presence of support for the new format.

-apw


\
 
 \ /
  Last update: 2014-11-18 18:41    [W:0.067 / U:0.688 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site