diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 22:55:31 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 22:55:31 +0300 |
commit | 4ba9628fe5bf90e0125dbec847a0cf4f5553de14 (patch) | |
tree | 5dc0dd56eb05d834c8df575ba1b07d474f54c22c /fs/btrfs/inode.c | |
parent | 06999fd59277afef07638453c695a500eb2a93c0 (diff) | |
parent | 1a16dbaf798c5b68ac767444eb045e6f3adaa16d (diff) | |
download | linux-4ba9628fe5bf90e0125dbec847a0cf4f5553de14.tar.xz |
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 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index f22f77172c5f..181c58b23110 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -5764,16 +5764,10 @@ static int btrfs_dentry_delete(const struct dentry *dentry) static struct dentry *btrfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) { - struct inode *inode; - - inode = btrfs_lookup_dentry(dir, dentry); - if (IS_ERR(inode)) { - if (PTR_ERR(inode) == -ENOENT) - inode = NULL; - else - return ERR_CAST(inode); - } + struct inode *inode = btrfs_lookup_dentry(dir, dentry); + if (inode == ERR_PTR(-ENOENT)) + inode = NULL; return d_splice_alias(inode, dentry); } |