From 17d9716d7b5381c4b6566bb1a06267d2bfcd1821 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Mon, 15 Jun 2015 16:02:14 +0100 Subject: block: keep bitmap if incremental backup job is cancelled Reclaim the dirty bitmap if an incremental backup block job is cancelled. The ret variable may be 0 when the job is cancelled so it's not enough to check ret < 0. Reviewed-by: John Snow Signed-off-by: Stefan Hajnoczi Message-id: 1434380534-7680-1-git-send-email-stefanha@redhat.com Signed-off-by: Jeff Cody --- block/backup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'block/backup.c') diff --git a/block/backup.c b/block/backup.c index d3c7d9f..965654d 100644 --- a/block/backup.c +++ b/block/backup.c @@ -431,7 +431,7 @@ static void coroutine_fn backup_run(void *opaque) if (job->sync_bitmap) { BdrvDirtyBitmap *bm; - if (ret < 0) { + if (ret < 0 || block_job_is_cancelled(&job->common)) { /* Merge the successor back into the parent, delete nothing. */ bm = bdrv_reclaim_dirty_bitmap(bs, job->sync_bitmap, NULL); assert(bm); -- cgit v1.1