Commit 72f2bae3 authored by David Sterba's avatar David Sterba
Browse files

btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_init_root_free_objectid()



This is the trivial pattern for path auto free, initialize at the
beginning and free at the end with simple goto -> return conversions.

Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent aaa5ae8f
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -4896,7 +4896,7 @@ static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info)

int btrfs_init_root_free_objectid(struct btrfs_root *root)
{
	struct btrfs_path *path;
	BTRFS_PATH_AUTO_FREE(path);
	int ret;
	struct extent_buffer *l;
	struct btrfs_key search_key;
@@ -4912,14 +4912,13 @@ int btrfs_init_root_free_objectid(struct btrfs_root *root)
	search_key.offset = (u64)-1;
	ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
	if (ret < 0)
		goto error;
		return ret;
	if (ret == 0) {
		/*
		 * Key with offset -1 found, there would have to exist a root
		 * with such id, but this is out of valid range.
		 */
		ret = -EUCLEAN;
		goto error;
		return -EUCLEAN;
	}
	if (path->slots[0] > 0) {
		slot = path->slots[0] - 1;
@@ -4930,10 +4929,8 @@ int btrfs_init_root_free_objectid(struct btrfs_root *root)
	} else {
		root->free_objectid = BTRFS_FIRST_FREE_OBJECTID;
	}
	ret = 0;
error:
	btrfs_free_path(path);
	return ret;

	return 0;
}

int btrfs_get_free_objectid(struct btrfs_root *root, u64 *objectid)