Re: [PATCH v2] ovl: introduce new "index=nouuid" option for inodes index feature

From: Amir Goldstein
Date: Wed Sep 23 2020 - 22:44:35 EST


On Wed, Sep 23, 2020 at 10:47 PM Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
>
> On Wed, Sep 23, 2020 at 06:23:08PM +0300, Pavel Tikhomirov wrote:
> > This relaxes uuid checks for overlay index feature. It is only possible
> > in case there is only one filesystem for all the work/upper/lower
> > directories and bare file handles from this backing filesystem are uniq.
>
> Hi Pavel,
>
> Wondering why upper/work has to be on same filesystem as lower for this to
> work?
>

I reckon that's because I asked for this constraint, so I will answer.

You are right that the important thing is that all lower layers are
on the same fs, but because of
a888db310195 ovl: fix regression with re-formatted lower squashfs

I preferred to keep the rules simpler.

Pavel's use case is clone of disk and change of its UUID.
This is a real use case and I don't think it is unique to Virtuozzo,
so I wanted index=nouuid to address that use case only and
I prefer that it is documented that way too.

Ironically, one of the justifications for index=nouuid is virtiofs -
because fuse is now allowed as upper (or as same fs),
one can already use fuse passthough (or one could use fuse
passthrough when nfs export works correctly) as a "uuid anonymizer"
for any fs, so in practice, index=nouuid cannot do any more harm
then one can already do when enabling index over virtiofs.

That is why I prefer the interpretation that index=nouuid means
"use null uuid instead of s_uuid for ovl_fh" over the interpretation
"relax comparison of uuid in ovl_fh".

Thanks,
Amir.