Re: [PATCH 01/24] Unionfs: Documentation

From: Josef Sipek
Date: Mon Jan 08 2007 - 18:18:31 EST


On Mon, Jan 08, 2007 at 11:18:52AM -0800, Andrew Morton wrote:
> On Sun, 7 Jan 2007 23:12:53 -0500
> "Josef 'Jeff' Sipek" <jsipek@xxxxxxxxxxxxx> wrote:
>
> > +Modifying a Unionfs branch directly, while the union is mounted, is
> > +currently unsupported.
>
> Does this mean that if I have /a/b/ and /c/d/ unionised under /mnt/union, I
> am not allowed to alter anything under /a/b/ and /c/d/? That I may only
> alter stuff under /mnt/union?

That's correct.

> If so, that sounds like a significant limitation.

It is significant, and I am trying to figure out a nice clean way to allow
_all_ stackable filesystems (yes, ecryptfs which is in vanilla has the same
problem too) to have data modified under them without any cache incoherence.

> > Any such change can cause Unionfs to oops, or stay
> > silent and even RESULT IN DATA LOSS.
>
> With a rather rough user interface ;)

That statement is meant to scare people away from modifying the lower fs :)
I tortured unionfs quite a bit, and it can oops but it takes some effort.

> Also, is it possible to add new branches to an existing union mount? And
> to take old ones away?

Not in the code in the 20-odd patches, it is a minimal version of the code,
maade to be as clean as possible. I hope to port the more complex
features into this code when things like lower branch manipulation are fixed
in a real way - there have been suggestions of (ab)using inotify to keep
track of the lower files, but I would prefer to find a real solution.

Josef "Jeff" Sipek.

--
Research, n.:
Consider Columbus:
He didn't know where he was going.
When he got there he didn't know where he was.
When he got back he didn't know where he had been.
And he did it all on someone else's money.
-
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/