Shaya Potter wrote:
Shaya Potter wrote:
Weird Q.
blade12_ROOT:/mnt/test # ls 2/1/.wh.
.wh.__dir_opaque .wh.ab
if the dir is opaque, why is a whiteout file being created?
I think its this.
if (err) {
if (dbstart(dentry) == 0)
goto out;
err = create_whiteout(dentry, dbstart(dentry) - 1);
} else if (dbopaque(dentry) != -1) {
/* There is a hidden lower-priority file with the same
name. */
err = create_whiteout(dentry, dbopaque(dentry));
} else {
err = create_whiteout(dentry, dbstart(dentry));
}
what's with that last create_whiteout() ?
I've switched that last create_whiteout() w/ a goto out; and it seems to
behave correctly (deletes, but doesn't create whiteout in dir where it
shouldn't, but haven't really tested it fully yet
I believe there's a similiar situation w/ rmdir() where it creates
whiteouts when it doesn't need to.
I've implemented this and the optimization I described 2 days ago, the
results in postmark are great! (only have unoptimized and optimized on
nfs, getting 6 sets of numbers, ext3, plain unionfs on ext3, optimized
unionfs on ext3, nfs, plain unionfs on nfs, and optimized unionfs on nfs).
I'll post those and my ugly quick and dirty patch when they are finished
running. Will take a couple of hours.
_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs