[PATCH] VFS: extra check inside dentry_unhash()
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>
This commit is contained in:
parent
5ac29e62be
commit
dc168427e6
1 changed files with 1 additions and 2 deletions
|
@ -1998,8 +1998,7 @@ asmlinkage long sys_mkdir(const char __user *pathname, int mode)
|
||||||
void dentry_unhash(struct dentry *dentry)
|
void dentry_unhash(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
dget(dentry);
|
dget(dentry);
|
||||||
if (atomic_read(&dentry->d_count))
|
shrink_dcache_parent(dentry);
|
||||||
shrink_dcache_parent(dentry);
|
|
||||||
spin_lock(&dcache_lock);
|
spin_lock(&dcache_lock);
|
||||||
spin_lock(&dentry->d_lock);
|
spin_lock(&dentry->d_lock);
|
||||||
if (atomic_read(&dentry->d_count) == 2)
|
if (atomic_read(&dentry->d_count) == 2)
|
||||||
|
|
Loading…
Reference in a new issue