[Tux3] Possible solution to the deferred nameops delete issue
Daniel Phillips
phillips at phunq.net
Thu Nov 27 06:03:20 PST 2008
Hi,
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)
return;
}
- if (!d_unhashed(dentry))
- __d_drop(dentry);
-
spin_unlock(&dentry->d_lock);
spin_unlock(&dcache_lock);
_______________________________________________
Tux3 mailing list
Tux3 at tux3.org
http://tux3.org/cgi-bin/mailman/listinfo/tux3
More information about the Tux3
mailing list