diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 20267d47dbcd501dda238e7ff1ce0381137473a7..68ad89e237132c9e6b3bceed8ad0bba7d67357c6 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1895,8 +1895,11 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans, spin_unlock(&root->fs_info->trans_lock); wait_for_commit(root, prev_trans); + ret = prev_trans->aborted; btrfs_put_transaction(prev_trans); + if (ret) + goto cleanup_transaction; } else { spin_unlock(&root->fs_info->trans_lock); }