Re: [RFC][PATCH 0/15] VFS based Union Mount

Shaya Potter
2007-04-17T16:56:24Z

Bharata B Rao wrote:

> No. foo is not visible. While looking for a file in a union mounted
> directory, the lookup starts from the topmost directory and proceeds
> downwards if the file isn't present the top layers. If a whiteout is
> found in any of the top layers, the lookup is abondoned and -ENOENT
> is removed. Thus until a whiteout exists in any upper layer for
> a corresponding file in the lower layer, the lower layer file remains
> hidden until the whiteout is removed.
>
> However in the case of dir-c containing foo, the foo(from dir-c) will become
> visible after union mounting dir-c on top of dir-b and dir-a.

ok, so the major limitation of this approach is that the top most layer
has to either be, ext2, ext3 or tmpfs (in patch), and most likely not
NFS (assumption is that NFS has no conception of the whiteout type of
file). One thing the unionfs people are doing w/ their ODF approach, is
within the ODF fs, they have a special inode that is the "whiteout"
inode, and when they create a whiteout, they just create a hardlink from
the dentry they want to whiteout to the "whiteout inode". could that be
a worthwhile approach instead of the whiteout file type? (i.e. many
file systems support the concept of a hard link).

I ask, because using union in a diskless environment. Imagine pxe
booting a kernel/initramfs and then using union to create a real root fs
(shared lower layer, private rw upper layer, ala live cds). Which
brings up a different point, with unionfs, one can pivot_root into it,
can one do the same for these "union mounts"? Don't know enough about
the VFS to know if this should "just work" or might be a problem.