On Wed, Jan 17, 2007 at 11:56:25AM -0500, Shaya Potter wrote:
> Josef Sipek wrote:
> >On Wed, Jan 17, 2007 at 11:27:12AM -0500, Shaya Potter wrote:
> >>Josef Sipek wrote:
> >>>On Wed, Jan 17, 2007 at 11:13:15AM -0500, Shaya Potter wrote:
> >>>>Josef Sipek wrote:
> >>>>>On Fri, Jan 12, 2007 at 11:28:21AM -0500, Shaya Potter wrote:
> >>>>>>Here's my optimization patch (quick and dirty, looks bigger than it
> >>>>>>is, most of it is changing indenting of already existing code within
> >>>>>>if() statements I added) w/ postmark numbers. I'm a little confused
> >>>>>>as now unionfs on backing store is faster than plain backing store
> >>>>>>(albiet not many test iterations and my methodology might be suspect,
> >>>>>>any thoughts?)
> >>>>>Hrm, I just tried to run the regression suite on the patched code
> >>>>>(which got
> >>>>>commited last night) and it failed on create.sh. I am looking into it
> >>>>>now.
> >>>>the bug is (I beleive, haven't tested it yet) that I did bstart != bend
> >>>>based on dentry
> >>>The symptom is that we are not removing whiteouts on create. The first
> >>>test
> >>>case of create.sh leaves 2 whiteouts behind:
> >>>
> >>>/n/lower/b0/d1/.wh.x
> >>>/n/lower/b2/d1/d2/d3/d4/.wh.d
> >>>
> >>>>except that dentry in this case is the entry we want to create.
> >>>That dentry should still have the right b{start,end,opaque}, as someone
> >>>looked it up, no?
> >>no, remember unionfs operates on namespaces not data. Directories are
> >>namespaces, files are data.
> >>
> >>I've fixed the first case by switching to getting the data from the
> >>parent. (patch attached)
> >
> >Ack.
> >
> >>However, it doesn't fix the d4 case, as d4 only exists in one branch, so
> >>the whiteout is somewhat pointless, as there's nothing to white out. (in
> >>the b0/d1 case, b1/d1 contained an x directory so the whiteout
> >>accomplished something)
> >
> >Yes, the whiteout is pointless, but the situation can occur by
> >adding/removing branches.
>
> true, but the question is, is it a bug to leave/ignore the whiteout?
Generally, we considered it to do be. This made it easier to ignore problems
due to having both the file and the whiteout. I don't really know what the
status with that is. :-/
On a more general level, what has higher priority a whiteout or a file?
> i.e. unionfs behaves correctly, enables you to create the d file, you
> don't see the whiteout. It would only come into play if a branch ifa b3
> branch with a d4 dir was added after the fact
I would like to find an alternative way to do whiteouts - not as separate
files. The only thing I can think of short of modifying the lower fs, is
using xattrs.
Jeff.
--
Linux, n.:
Generous programmers from around the world all join forces to help
you shoot yourself in the foot for free.
_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs