Commit 073dd51f authored by David Sterba's avatar David Sterba
Browse files

btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_init_dev_replace()



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 efac576c
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
	struct extent_buffer *eb;
	int slot;
	int ret = 0;
	struct btrfs_path *path = NULL;
	BTRFS_PATH_AUTO_FREE(path);
	int item_size;
	struct btrfs_dev_replace_item *ptr;
	u64 src_devid;
@@ -85,10 +85,8 @@ int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
		return 0;

	path = btrfs_alloc_path();
	if (!path) {
		ret = -ENOMEM;
		goto out;
	}
	if (!path)
		return -ENOMEM;

	key.objectid = 0;
	key.type = BTRFS_DEV_REPLACE_KEY;
@@ -103,8 +101,7 @@ int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
		if (btrfs_find_device(fs_info->fs_devices, &args)) {
			btrfs_err(fs_info,
			"found replace target device without a valid replace item");
			ret = -EUCLEAN;
			goto out;
			return -EUCLEAN;
		}
		ret = 0;
		dev_replace->replace_state =
@@ -123,7 +120,7 @@ int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
		dev_replace->tgtdev = NULL;
		dev_replace->is_valid = 0;
		dev_replace->item_needs_writeback = 0;
		goto out;
		return ret;
	}
	slot = path->slots[0];
	eb = path->nodes[0];
@@ -226,8 +223,6 @@ int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info)
		break;
	}

out:
	btrfs_free_path(path);
	return ret;
}