Re: Symlink indirection

From: junkio@cox.net
Date: Sun Dec 15 2002 - 02:24:15 EST


"AW" == Andrew Walrond <andrew@walrond.org> gives an example of
a/{x,y,z}, b/{y,z}, c/z mounted on d/. in that order, later
mounts covering the earlier ones.

AW> echo "d/w" > d/w would create a new file in directory a.

Personally I'd rather expect this to happen in c/. Imagine a/
being on read-only medium like CD-ROM containing bunch of source
files, b/ to hold patched source, and c/ to hold binaries
resulting from compilation. That is,

    rm -fr a b c d
    mkdir a b c d
    mount /cdrom a
    mount --bind a d
    mount --bind --overlay b d
    (cd b && bzip2 -d <../patch-2.9.91.bz2 | patch -p1)
    mount --bind --overlay c d
    (cd c && make mrproper && cat ../.config >.config &&
    make oldconfig && make dep && make bzImage)

Back to your example; what do you wish to happen when we do
this?

    $ mv d/z d/zz && test -f d/z && cat d/z

Here we rename d/z (which is really c/z) to zz. Does this
reveal z that used to be hidden by that, namely b/z, and "cat
d/z" now shows "b/z"?

Or just like the case of creating a new file, does the union
"remember" the fact that the directory "d" should not contain
"z" anymore, and "test -f d/z" fails?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Dec 15 2002 - 22:00:32 EST