btrfs: fix error handling in create_pending_snapshot
PATCH 1/1 btrfs: fix error handling in create_pending_snapshot
fcebe456 cut and pasted some code to a later point in create_pending_snapshot(), but didn't switch to the appropriate error handling for this stage of the function.
Signed-off-by Eric Sandeen <[email protected]>
---
I think this is right. Josef, please double check me :)
fs/btrfs/transaction.c +7 -5
@@ -1284,11 +1284,13 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, goto fail; } - pending->error =btrfs_qgroup_inherit (trans, fs_info, - root->root_key.objectid, - objectid, pending->inherit); -if (pending->error) - goto no_free_objectid; + ret =btrfs_qgroup_inherit (trans, fs_info, + root->root_key.objectid, + objectid, pending->inherit); +if (ret) { +btrfs_abort_transaction (trans, root, ret); + goto fail; + }/* see comments in should_cow_block() */ set_bit (BTRFS_ROOT_FORCE_COW , &root->state);