diff --git a/block/mirror.c b/block/mirror.c index 95366adb3a553e6da582d33daf4c1faf4f300622..403714c1ea356dcb3ad32618b356b148cf834b4d 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -325,8 +325,8 @@ static void coroutine_fn mirror_run(void *opaque) s->common.len = bdrv_getlength(bs); if (s->common.len <= 0) { - block_job_completed(&s->common, s->common.len); - return; + ret = s->common.len; + goto immediate_exit; } length = DIV_ROUND_UP(s->common.len, s->granularity);