diff options
| author | Christoph Hellwig <hch@lst.de> | 2008-09-05 16:43:20 -0400 | 
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:07 -0400 | 
| commit | 50ec891cc54fb865c4c40c45845e60123e0e66ca (patch) | |
| tree | f428fec2622044cd6b0a3adc90f0d7be6b62b6b9 /fs/btrfs/export.c | |
| parent | 91c0827de247303c6dfc40a8ec9d8305e1d07986 (diff) | |
| download | olio-linux-3.10-50ec891cc54fb865c4c40c45845e60123e0e66ca.tar.xz olio-linux-3.10-50ec891cc54fb865c4c40c45845e60123e0e66ca.zip  | |
Btrfs: cleanup d_obtain_alias useage
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>
Diffstat (limited to 'fs/btrfs/export.c')
| -rw-r--r-- | fs/btrfs/export.c | 17 | 
1 files changed, 2 insertions, 15 deletions
diff --git a/fs/btrfs/export.c b/fs/btrfs/export.c index 292b0b24c30..2b357a6d240 100644 --- a/fs/btrfs/export.c +++ b/fs/btrfs/export.c @@ -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; @@ -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, @@ -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; @@ -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 = {  |