2006-11-01 10:37:49

by Vasily Averin

[permalink] [raw]
Subject: [PATCH 2.6.19-rc3] VFS: extra check inside dentry_unhash()

From: Vasily Averin <[email protected]>

d_count check after dget() is always true

Signed-off-by: Vasily Averin <[email protected]>

--- linux-2.6.19-rc3-mm1/fs/namei.c.duhsh 2006-10-30 14:20:19.000000000 +0300
+++ linux-2.6.19-rc3-mm1/fs/namei.c 2006-11-01 13:17:17.000000000 +0300
@@ -1993,8 +1993,7 @@ asmlinkage long sys_mkdir(const char __u
void dentry_unhash(struct dentry *dentry)
{
dget(dentry);
- if (atomic_read(&dentry->d_count))
- shrink_dcache_parent(dentry);
+ shrink_dcache_parent(dentry);
spin_lock(&dcache_lock);
spin_lock(&dentry->d_lock);
if (atomic_read(&dentry->d_count) == 2)