|
@@ -1553,6 +1553,10 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
btrfs_trans_release_metadata(trans, root);
|
|
|
trans->block_rsv = NULL;
|
|
|
+ if (trans->qgroup_reserved) {
|
|
|
+ btrfs_qgroup_free(root, trans->qgroup_reserved);
|
|
|
+ trans->qgroup_reserved = 0;
|
|
|
+ }
|
|
|
|
|
|
cur_trans = trans->transaction;
|
|
|
|
|
@@ -1833,6 +1837,10 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans,
|
|
|
cleanup_transaction:
|
|
|
btrfs_trans_release_metadata(trans, root);
|
|
|
trans->block_rsv = NULL;
|
|
|
+ if (trans->qgroup_reserved) {
|
|
|
+ btrfs_qgroup_free(root, trans->qgroup_reserved);
|
|
|
+ trans->qgroup_reserved = 0;
|
|
|
+ }
|
|
|
btrfs_printk(root->fs_info, "Skipping commit of aborted transaction.\n");
|
|
|
// WARN_ON(1);
|
|
|
if (current->journal_info == trans)
|