Skip to content

Commit

Permalink
befs_lookup(): use d_splice_alias()
Browse files Browse the repository at this point in the history
RTFS(Documentation/filesystems/nfs/Exporting) if you try to make
something exportable.

Fixes: ac632f5 "befs: add NFS export support"
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed May 21, 2018
1 parent 87fbd63 commit f4e4d43
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions fs/befs/linuxvfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,23 +198,16 @@ befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)

if (ret == BEFS_BT_NOT_FOUND) {
befs_debug(sb, "<--- %s %pd not found", __func__, dentry);
d_add(dentry, NULL);
return ERR_PTR(-ENOENT);

inode = NULL;
} else if (ret != BEFS_OK || offset == 0) {
befs_error(sb, "<--- %s Error", __func__);
return ERR_PTR(-ENODATA);
inode = ERR_PTR(-ENODATA);
} else {
inode = befs_iget(dir->i_sb, (ino_t) offset);
}

inode = befs_iget(dir->i_sb, (ino_t) offset);
if (IS_ERR(inode))
return ERR_CAST(inode);

d_add(dentry, inode);

befs_debug(sb, "<--- %s", __func__);

return NULL;
return d_splice_alias(inode, dentry);
}

static int
Expand Down

0 comments on commit f4e4d43

Please sign in to comment.