diff mbox series

[27/27] btrfs: use BTRFS_PATH_AUTO_FREE in load_free_space_tree()

Message ID f78c8e236bf2d9975f033e08f33ce7d088267b11.1740562070.git.dsterba@suse.com (mailing list archive)
State New
Headers show
Series Struct btrfs_path auto cleaning conversions | expand

Commit Message

David Sterba Feb. 26, 2025, 9:51 a.m. UTC
This is the trivial pattern for path auto free, initialize at the
beginning and free at the end with simple goto -> return conversions.

Signed-off-by: David Sterba <dsterba@suse.com>
---
 fs/btrfs/free-space-tree.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

Comments

Johannes Thumshirn Feb. 27, 2025, 7:06 a.m. UTC | #1
On 26.02.25 10:54, David Sterba wrote:
   
> @@ -1665,11 +1663,7 @@ int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
>   	 * there.
>   	 */
>   	if (flags & BTRFS_FREE_SPACE_USING_BITMAPS)
> -		ret = load_free_space_bitmaps(caching_ctl, path, extent_count);
> +		return load_free_space_bitmaps(caching_ctl, path, extent_count);
>   	else
> -		ret = load_free_space_extents(caching_ctl, path, extent_count);
> -
> -out:
> -	btrfs_free_path(path);
> -	return ret;
> +		return load_free_space_extents(caching_ctl, path, extent_count);
>   }

No need for the else here, i.e.:

	if (flags & BTRFS_FREE_SPACE_USING_BITMAPS)
		return load_free_space_bitmaps(caching_ctl, path, extent_count);

	return load_free_space_extents(caching_ctl, path, extent_count);
diff mbox series

Patch

diff --git a/fs/btrfs/free-space-tree.c b/fs/btrfs/free-space-tree.c
index 589ff73ed13a..39c6b96a4c25 100644
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -1633,9 +1633,8 @@  int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
 {
 	struct btrfs_block_group *block_group;
 	struct btrfs_free_space_info *info;
-	struct btrfs_path *path;
+	BTRFS_PATH_AUTO_FREE(path);
 	u32 extent_count, flags;
-	int ret;
 
 	block_group = caching_ctl->block_group;
 
@@ -1652,10 +1651,9 @@  int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
 	path->reada = READA_FORWARD;
 
 	info = search_free_space_info(NULL, block_group, path, 0);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto out;
-	}
+	if (IS_ERR(info))
+		return PTR_ERR(info);
+
 	extent_count = btrfs_free_space_extent_count(path->nodes[0], info);
 	flags = btrfs_free_space_flags(path->nodes[0], info);
 
@@ -1665,11 +1663,7 @@  int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
 	 * there.
 	 */
 	if (flags & BTRFS_FREE_SPACE_USING_BITMAPS)
-		ret = load_free_space_bitmaps(caching_ctl, path, extent_count);
+		return load_free_space_bitmaps(caching_ctl, path, extent_count);
 	else
-		ret = load_free_space_extents(caching_ctl, path, extent_count);
-
-out:
-	btrfs_free_path(path);
-	return ret;
+		return load_free_space_extents(caching_ctl, path, extent_count);
 }