[Tux3] Possible solution to the deferred nameops delete issue

Daniel Phillips phillips at phunq.net
Thu Nov 27 06:03:20 PST 2008


The patch below seems to resolve the issue where dcache would unhash
any dentry that has multiple use counts at the time of a delete.  I
have no idea what the benefit of that is, and after scratching my head
about it for days, I decided there probably is no good reason at all.
A later dput will drop the dentry count to zero and do the d_iput.  The
elevated dentry count case is rare, and the guilty party is probably
going to do a dput very soon.  So I just can't imagine what the intent
of the aggressive __d_drop really was.

Maciej and Hirofumi, could you apply your considerable intellect to
checking my reasoning?

diff --git a/fs/dcache.c b/fs/dcache.c
index 6068c25..d85b314 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1400,9 +1400,6 @@ void d_delete(struct dentry * dentry)
-	if (!d_unhashed(dentry))
-		__d_drop(dentry);

Tux3 mailing list
Tux3 at tux3.org

More information about the Tux3 mailing list