aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2025-02-24 09:15:17 +0100
committerDavid Sterba <dsterba@suse.com>2025-03-18 20:35:48 +0100
commit2e70d126f9dcef0efba3711c7da8820ac1d036d2 (patch)
tree585d39e615d866319f8ffbe2bb030143d7c28b6e
parentbtrfs: use BTRFS_PATH_AUTO_FREE in populate_free_space_tree() (diff)
downloadwireguard-linux-2e70d126f9dcef0efba3711c7da8820ac1d036d2.tar.xz
wireguard-linux-2e70d126f9dcef0efba3711c7da8820ac1d036d2.zip
btrfs: use BTRFS_PATH_AUTO_FREE in clear_free_space_tree()
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: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/free-space-tree.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/fs/btrfs/free-space-tree.c b/fs/btrfs/free-space-tree.c
index d1ec02d5e1f6..589ff73ed13a 100644
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -1215,7 +1215,7 @@ out_clear:
static int clear_free_space_tree(struct btrfs_trans_handle *trans,
struct btrfs_root *root)
{
- struct btrfs_path *path;
+ BTRFS_PATH_AUTO_FREE(path);
struct btrfs_key key;
int nr;
int ret;
@@ -1231,7 +1231,7 @@ static int clear_free_space_tree(struct btrfs_trans_handle *trans,
while (1) {
ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
if (ret < 0)
- goto out;
+ return ret;
nr = btrfs_header_nritems(path->nodes[0]);
if (!nr)
@@ -1240,15 +1240,12 @@ static int clear_free_space_tree(struct btrfs_trans_handle *trans,
path->slots[0] = 0;
ret = btrfs_del_items(trans, root, path, 0, nr);
if (ret)
- goto out;
+ return ret;
btrfs_release_path(path);
}
- ret = 0;
-out:
- btrfs_free_path(path);
- return ret;
+ return 0;
}
int btrfs_delete_free_space_tree(struct btrfs_fs_info *fs_info)