From: Stefan Hajnoczi <stefa...@redhat.com> 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 <js...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 1434380534-7680-1-git-send-email-stefa...@redhat.com Signed-off-by: Jeff Cody <jc...@redhat.com> --- block/backup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 1.9.3