since sync_bitmap is busy at the point of merging, and we checked access beforehand.
Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- block/mirror.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/mirror.c b/block/mirror.c index 40d174a625..d6aca2874e 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -735,8 +735,8 @@ static int mirror_exit_common(Job *job) job->ret == 0 && ret == 0)) { /* Success; synchronize copy back to sync. */ bdrv_clear_dirty_bitmap(s->sync_bitmap, NULL); - bdrv_merge_dirty_bitmap(s->sync_bitmap, s->dirty_bitmap, - NULL, &error_abort); + bdrv_dirty_bitmap_merge_internal(s->sync_bitmap, s->dirty_bitmap, + NULL, true); } } bdrv_release_dirty_bitmap(s->dirty_bitmap); @@ -1727,8 +1727,8 @@ static BlockJob *mirror_start_job( } if (s->sync_mode == MIRROR_SYNC_MODE_BITMAP) { - bdrv_merge_dirty_bitmap(s->dirty_bitmap, s->sync_bitmap, - NULL, &local_err); + bdrv_dirty_bitmap_merge_internal(s->dirty_bitmap, s->sync_bitmap, + NULL, true); if (local_err) { goto fail; } -- 2.20.1