From e917e2cb2a1715233d173de57a889808b703091e Mon Sep 17 00:00:00 2001 From: Alberto Garcia Date: Thu, 22 Nov 2018 17:00:26 +0200 Subject: [PATCH] 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 --- block/mirror.c | 3 +++ 1 file changed, 3 insertions(+) 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); }