vfs: don't revalidate just looked up dentry

__lookup_hash() calls ->lookup() if the dentry needs lookup and on success
revalidates the dentry (all under dir->i_mutex).

While this is harmless it doesn't make a lot of sense.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Miklos Szeredi 2012-03-26 12:54:20 +02:00 committed by Al Viro
parent fa4ee15951
commit 3637c05d88
1 changed files with 1 additions and 3 deletions

View File

@ -1869,9 +1869,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
* __lookup_hash is called with the parent dir's i_mutex already * __lookup_hash is called with the parent dir's i_mutex already
* held, so we are good to go here. * held, so we are good to go here.
*/ */
dentry = d_inode_lookup(base, dentry, nd); return d_inode_lookup(base, dentry, nd);
if (IS_ERR(dentry))
return dentry;
} }
if (dentry && (dentry->d_flags & DCACHE_OP_REVALIDATE)) { if (dentry && (dentry->d_flags & DCACHE_OP_REVALIDATE)) {