Hi list, I have an unionfs mount setup like this:
# mkdir br1 br2 rwunion # mount -t nfs -o ro server:/nfsexport /br2 # mount -t unionfs -o dirs=/br1=rw:/br2=ro none /rwunion/ So far so good. When I try to add new files or remove files that pre-existed on the ro-nfs branch, that works just fine. However appending/chaning files originating from the ro-nfs branch, I get this: # ls -la /br1 # ls -la /br2 -rw-r--r-- 1 root root 55 2008-11-06 04:41 test # ls -la /rwunion -rw-r--r-- 1 root root 55 2008-11-06 04:41 test # echo >test bash: test: Permission denied # strace -e file /bin/sh -c "echo >test" execve("/bin/sh", ["/bin/sh", "-c", "echo >test"], [/* 21 vars */]) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libncurses.so.5", O_RDONLY) = 3 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libdl.so.2", O_RDONLY) = 3 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 open("/dev/tty", O_RDWR|O_NONBLOCK) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3 open("/proc/meminfo", O_RDONLY) = 3 stat("/rwunion", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 open("test", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied) open("/usr/share/locale/locale.alias", O_RDONLY) = 3 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) /bin/sh: test: Permission denied Now instead of ERO an EACCES is triggered which probably makes unionfs execute code that is reserved for "no-permission situations" instead of executing "no write access, try at next writeable branch left of this". I'll happily provide you with any additional info you need. HTH Daniel _______________________________________________ unionfs mailing list: http://unionfs.filesystems.org/ unionfs@mail.fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs