|
@@ -564,8 +564,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
|
|
|
btrfs_trans_release_metadata(trans, root);
|
|
|
trans->block_rsv = NULL;
|
|
|
|
|
|
- sb_end_intwrite(root->fs_info->sb);
|
|
|
-
|
|
|
if (lock && !atomic_read(&root->fs_info->open_ioctl_trans) &&
|
|
|
should_end_transaction(trans, root)) {
|
|
|
trans->transaction->blocked = 1;
|
|
@@ -586,6 +584,8 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ sb_end_intwrite(root->fs_info->sb);
|
|
|
+
|
|
|
WARN_ON(cur_trans != info->running_transaction);
|
|
|
WARN_ON(atomic_read(&cur_trans->num_writers) < 1);
|
|
|
atomic_dec(&cur_trans->num_writers);
|