Commit 899c8798 authored by David Sterba's avatar David Sterba
Browse files

btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_get_name()



This is the trivial pattern for path auto free, initialize at the
beginning and free at the end with some return simplifications.

Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 72f2bae3
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -223,7 +223,7 @@ static int btrfs_get_name(struct dentry *parent, char *name,
	struct btrfs_inode *dir = BTRFS_I(d_inode(parent));
	struct btrfs_root *root = dir->root;
	struct btrfs_fs_info *fs_info = root->fs_info;
	struct btrfs_path *path;
	BTRFS_PATH_AUTO_FREE(path);
	struct btrfs_inode_ref *iref;
	struct btrfs_root_ref *rref;
	struct extent_buffer *leaf;
@@ -255,16 +255,13 @@ static int btrfs_get_name(struct dentry *parent, char *name,

	ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
	if (ret < 0) {
		btrfs_free_path(path);
		return ret;
	} else if (ret > 0) {
		if (ino == BTRFS_FIRST_FREE_OBJECTID) {
		if (ino == BTRFS_FIRST_FREE_OBJECTID)
			path->slots[0]--;
		} else {
			btrfs_free_path(path);
		else
			return -ENOENT;
	}
	}
	leaf = path->nodes[0];

	if (ino == BTRFS_FIRST_FREE_OBJECTID) {
@@ -280,7 +277,6 @@ static int btrfs_get_name(struct dentry *parent, char *name,
	}

	read_extent_buffer(leaf, name, name_ptr, name_len);
	btrfs_free_path(path);

	/*
	 * have to add the null termination to make sure that reconnect_path