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

Reply via email to