Skip to content

Commit

Permalink
Btrfs: cleanup d_obtain_alias useage
Browse files Browse the repository at this point in the history
d_obtain_alias is intended as a tailcall that can pass in errors encoded
in the inode pointer if needed, so use it that way instead of
duplicating the error handling.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
  • Loading branch information
Christoph Hellwig authored and Chris Mason committed Sep 25, 2008
1 parent 91c0827 commit 50ec891
Showing 1 changed file with 2 additions and 15 deletions.
17 changes: 2 additions & 15 deletions fs/btrfs/export.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ static struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
{
struct btrfs_root *root;
struct inode *inode;
struct dentry *result;
struct btrfs_key key;

key.objectid = root_objectid;
Expand All @@ -92,11 +91,7 @@ static struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
return ERR_PTR(-ESTALE);
}

result = d_obtain_alias(inode);
if (!result)
return ERR_PTR(-ENOMEM);

return result;
return d_obtain_alias(inode);
}

static struct dentry *btrfs_fh_to_parent(struct super_block *sb, struct fid *fh,
Expand Down Expand Up @@ -148,8 +143,6 @@ static struct dentry *btrfs_fh_to_dentry(struct super_block *sb, struct fid *fh,
static struct dentry *btrfs_get_parent(struct dentry *child)
{
struct inode *dir = child->d_inode;
struct inode *inode;
struct dentry *parent;
struct btrfs_root *root = BTRFS_I(dir)->root;
struct btrfs_key key;
struct btrfs_path *path;
Expand Down Expand Up @@ -203,13 +196,7 @@ static struct dentry *btrfs_get_parent(struct dentry *child)
btrfs_set_key_type(&key, BTRFS_INODE_ITEM_KEY);
key.offset = 0;

inode = btrfs_iget(root->fs_info->sb, &key, root, NULL);

parent = d_obtain_alias(inode);
if (!parent)
parent = ERR_PTR(-ENOMEM);

return parent;
return d_obtain_alias(btrfs_iget(root->fs_info->sb, &key, root, NULL));
}

const struct export_operations btrfs_export_ops = {
Expand Down

0 comments on commit 50ec891

Please sign in to comment.