From: Alberto Garcia Date: Thu, 22 Nov 2018 15:00:26 +0000 (+0200) Subject: mirror: Release the dirty bitmap if mirror_start_job() fails X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e917e2cb2a1715233d173de57a889808b703091e;p=qemu.git mirror: Release the dirty bitmap if mirror_start_job() fails At the moment I don't see how to make this function fail after the dirty bitmap has been created, but if that was possible then we would hit the assert(QLIST_EMPTY(&bs->dirty_bitmaps)) in bdrv_close(). Signed-off-by: Alberto Garcia Signed-off-by: Kevin Wolf --- diff --git a/block/mirror.c b/block/mirror.c index 24ede6fdaa..4cf1c088c0 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1649,6 +1649,9 @@ fail: g_free(s->replaces); blk_unref(s->target); bs_opaque->job = NULL; + if (s->dirty_bitmap) { + bdrv_release_dirty_bitmap(bs, s->dirty_bitmap); + } job_early_fail(&s->common.job); }