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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html