How to cope with two incompatible overlayfs formats out in the wild

From: Miklos Szeredi
Date: Tue Nov 18 2014 - 09:28:10 EST


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

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/