diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 12:55:31 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 12:55:31 -0700 |
commit | 4ba9628fe5bf90e0125dbec847a0cf4f5553de14 (patch) | |
tree | 5dc0dd56eb05d834c8df575ba1b07d474f54c22c /drivers | |
parent | 06999fd59277afef07638453c695a500eb2a93c0 (diff) | |
parent | 1a16dbaf798c5b68ac767444eb045e6f3adaa16d (diff) | |
download | linux-4ba9628fe5bf90e0125dbec847a0cf4f5553de14.tar.bz2 |
Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull more ->lookup() cleanups from Al Viro:
"Some ->lookup() instances are still overcomplicating the life
for themselves, open-coding the stuff that would be handled by
d_splice_alias() just fine.
Simplify a couple of such cases caught this cycle and document
d_splice_alias() intended use"
* 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
Document d_splice_alias() calling conventions for ->lookup() users.
simplify btrfs_lookup()
clean erofs_lookup()
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/erofs/namei.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/staging/erofs/namei.c b/drivers/staging/erofs/namei.c index 546a47156101..8cf0617d4ea0 100644 --- a/drivers/staging/erofs/namei.c +++ b/drivers/staging/erofs/namei.c @@ -223,18 +223,13 @@ static struct dentry *erofs_lookup(struct inode *dir, if (err == -ENOENT) { /* negative dentry */ inode = NULL; - goto negative_out; - } else if (unlikely(err)) - return ERR_PTR(err); - - debugln("%s, %s (nid %llu) found, d_type %u", __func__, - dentry->d_name.name, nid, d_type); - - inode = erofs_iget(dir->i_sb, nid, d_type == EROFS_FT_DIR); - if (IS_ERR(inode)) - return ERR_CAST(inode); - -negative_out: + } else if (unlikely(err)) { + inode = ERR_PTR(err); + } else { + debugln("%s, %s (nid %llu) found, d_type %u", __func__, + dentry->d_name.name, nid, d_type); + inode = erofs_iget(dir->i_sb, nid, d_type == EROFS_FT_DIR); + } return d_splice_alias(inode, dentry); } |