mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
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:
parent
7d7608cc9a
commit
8d206b0c21
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user