btrfs: avoid transaction commit on error in insert_balance_item()

There's no point in committing the transaction if we failed to insert the
balance item, since we haven't done anything else after we started/joined
the transaction. Also stop using two variables for tracking the return
value and use only 'ret'.

Reviewed-by: Daniel Vacek <neelx@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Filipe Manana 2025-12-17 15:53:59 +00:00 committed by David Sterba
parent 7d7608cc9a
commit 8d206b0c21

View File

@ -3644,7 +3644,7 @@ static int insert_balance_item(struct btrfs_fs_info *fs_info,
struct btrfs_path *path;
struct extent_buffer *leaf;
struct btrfs_key key;
int ret, err;
int ret;
path = btrfs_alloc_path();
if (!path)
@ -3679,9 +3679,11 @@ static int insert_balance_item(struct btrfs_fs_info *fs_info,
btrfs_set_balance_flags(leaf, item, bctl->flags);
out:
btrfs_free_path(path);
err = btrfs_commit_transaction(trans);
if (err && !ret)
ret = err;
if (ret == 0)
ret = btrfs_commit_transaction(trans);
else
btrfs_end_transaction(trans);
return ret;
}