lookup_open(): expand the call of real_lookup()

... and lose the duplicate IS_DEADDIR() - we'd already checked that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2016-04-28 11:19:43 -04:00
parent 384f26e28f
commit 12fa5e2404
1 changed files with 10 additions and 3 deletions

View File

@ -2969,9 +2969,16 @@ static int lookup_open(struct nameidata *nd, struct path *path,
no_open:
if (need_lookup) {
dentry = lookup_real(dir_inode, dentry, nd->flags);
if (IS_ERR(dentry))
return PTR_ERR(dentry);
struct dentry *res = dir_inode->i_op->lookup(dir_inode, dentry,
nd->flags);
if (unlikely(res)) {
if (IS_ERR(res)) {
error = PTR_ERR(res);
goto out_dput;
}
dput(dentry);
dentry = res;
}
}
/* Negative dentry, just create the file */