[Tux3] Deferred namespace operations, race fix
Daniel Phillips
phillips at phunq.net
Tue Dec 9 03:28:19 PST 2008
This closes the race in ->hide where we could sometimes end up with two
hashed negative dentries for the same name, using the method we
discussed on irc. As you observed, we do not need the HIDDEN flag any
more because when a negative dentry is deferred, its inode is always
zero:
- If it has a single reference, d_delete sets the inode to zero.
- If it has multiple references (busy) then we defer a clone,
one of the other holders takes care of reducing the inode count.
So now we can get rid of about half the patch, that implements the
HIDDEN bit that we just got rid of :)
Diff against the previous version attached, does not remove the HIDDEN
bit yet.
Regards,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: defer.diff
Type: text/x-diff
Size: 1735 bytes
Desc: not available
URL: <http://phunq.net/pipermail/tux3/attachments/20081209/c8e861f0/attachment-0001.diff>
-------------- next part --------------
_______________________________________________
Tux3 mailing list
Tux3 at tux3.org
http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3
More information about the Tux3
mailing list