[PATCH] VFS: extra check inside dentry_unhash()
authorVasily Averin <vvs@sw.ru>
Thu, 7 Dec 2006 04:37:07 +0000 (20:37 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Thu, 7 Dec 2006 16:39:35 +0000 (08:39 -0800)
d_count check after dget() is always true.

Signed-off-by: Vasily Averin <vvs@sw.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/namei.c

index 61f99c1967d9d9ce85b960729468a7a35a5a9fe7..db1bca26d88cf07d4758b7ccf02d8334b91e1208 100644 (file)
@@ -1998,8 +1998,7 @@ asmlinkage long sys_mkdir(const char __user *pathname, int mode)
 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)