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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/