[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 

  - 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.


-------------- 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

More information about the Tux3 mailing list