[Unionfs] Stacking semantics with multiple rw branches changed ?

Erez Zadok ezk at cs.sunysb.edu
Mon Nov 19 22:00:48 EST 2007


In message <ffvbb7$bhs$1 at ger.gmane.org>, pascal at pabr.org writes:
> With unionfs-2.1.7 for 2.6.23.1:
> 
> + mkdir /b0 /b1 /b1/foo /union
> + mount -t unionfs -o dirs=/b0:/b1 none /union
> + mkdir /union/foo/bar1
> + touch /union/foo/z
> + mkdir /union/foo/bar2
> + tree /b0 /b1
> /b0
> `-- foo
>      |-- bar2
>      `-- z
> /b1
> `-- foo
>      `-- bar1
> 
> 4 directories, 1 file
> + umount /union
> + rm -r /b0 /b1 /union
> 
> 
> Is this normal ?  I would have expected "bar1",
> "z" and "bar2" to be all created in /b1/foo,
> and IIRC this is how unionfs used to behave when
> I started testing it (around 2.1.1).
> Has the stacking semantics been changed recently ?
> 
> 
> Regards,
> 
> Pascal

Pascal, sorry for the late reply.  Anyway, I tried the same thing and I
wasn't able to reproduce this behavior with 2.6.23.8 and unionfs-2.1.9.  I
don't think much has changed b/t 2.1.7 and 2.1.9 that could have affected
this, but maybe something changed b/t 2.6.23.1 and 2.6.23.8?

If you could try this w/ 2.6.23.8 and unionfs-2.1.9, that'd be great.

My setup was that /b0 and /b1 were both ext3 partitions.  What's yours?

Does your 2.6.23.1 kernel have any other patches other than unionfs?  Was
this in a simple run environment or perhaps you were using pivot_root'ed or
chroot'ed environments?  Were your lower file systems also ext3?  Are they
two separate file systems or the same one.  Perhaps you can send me your
/proc/mounts?

Did you run all the above tests as root?

Also, I'd like to ask you to give me the output of "find /path -ls" b/c it's
more detailed that "tree".  For reference, this is what I get after running
the same sequence of commands:

# find /n/lower/b0
/n/lower/b0
/n/lower/b0/foo
/n/lower/b0/foo/bar1
/n/lower/b0/foo/bar1/.wh.__dir_opaque
/n/lower/b0/foo/bar2
/n/lower/b0/foo/bar2/.wh.__dir_opaque
/n/lower/b0/lost+found
/n/lower/b0/z
# find /n/lower/b1
/n/lower/b1
/n/lower/b1/lost+found
/n/lower/b1/foo

Thanks,
Erez.


More information about the unionfs mailing list