[Tux3] Deferred delete, second attempt

Daniel Phillips phillips at phunq.net
Fri Dec 5 18:39:24 PST 2008


Last night's Tux3 U consisted of a walkthrough of the deferred delete 
patch, during which Hirofumi noticed another race: during deferred 
delete processing, the DCACHE_HIDDEN flag has to be kept until the 
dentry has actually been unlinked, otherwise a lookup may erroneously 
succeed after the HIDDEN flag has ben cleared and before the dentry is 
set negative by removing the inode.  The solution is not to clear the 
HIDDEN flag at all, except when the dentry is about to be reused.  This 
simplifies things a little.

With the current patch, deferred deletion seems to work pretty well, but 
a new ceate of a deferred, deleted name will fail because the Ext2 
create will go to the dirent block and find the name still there.  To 
fix this, I need to complete the patch and handle deferred create as 
well.

The updated patch, and difference between the last two patches are 
attached.

Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: defer.patch
Type: text/x-diff
Size: 16255 bytes
Desc: not available
URL: <http://phunq.net/pipermail/tux3/attachments/20081205/176ceeb0/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: defer.diff
Type: text/x-diff
Size: 2971 bytes
Desc: not available
URL: <http://phunq.net/pipermail/tux3/attachments/20081205/176ceeb0/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