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>
struct btrfs_path *path;
struct extent_buffer *leaf;
struct btrfs_key key;
- int ret, err;
+ int ret;
path = btrfs_alloc_path();
if (!path)
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;
}