diff --git a/[refs] b/[refs] index 1e4e63f994dc..77e9fbb0675d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 720f1e2060138855b4a1b1e8aa642f9c7feb6750 +refs/heads/master: 7c2ec3f0730729f4829d01f7c19538d135f86712 diff --git a/trunk/fs/btrfs/transaction.c b/trunk/fs/btrfs/transaction.c index fedede1fe178..c4a1531c52d8 100644 --- a/trunk/fs/btrfs/transaction.c +++ b/trunk/fs/btrfs/transaction.c @@ -626,14 +626,13 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans, btrfs_trans_release_metadata(trans, root); trans->block_rsv = NULL; - /* - * the same root has to be passed to start_transaction and - * end_transaction. Subvolume quota depends on this. - */ - WARN_ON(trans->root != root); if (trans->qgroup_reserved) { - btrfs_qgroup_free(root, trans->qgroup_reserved); + /* + * the same root has to be passed here between start_transaction + * and end_transaction. Subvolume quota depends on this. + */ + btrfs_qgroup_free(trans->root, trans->qgroup_reserved); trans->qgroup_reserved = 0; }