diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2015-06-15 16:02:14 +0100 |
---|---|---|
committer | Jeff Cody <jcody@redhat.com> | 2015-07-14 21:50:13 -0400 |
commit | 17d9716d7b5381c4b6566bb1a06267d2bfcd1821 (patch) | |
tree | 5eca218b14617105c43630c417f5e5a519407a58 /block/backup.c | |
parent | 299bf097375f9d148cda579ad85477304e38856b (diff) | |
download | qemu-17d9716d7b5381c4b6566bb1a06267d2bfcd1821.tar.gz qemu-17d9716d7b5381c4b6566bb1a06267d2bfcd1821.tar.bz2 qemu-17d9716d7b5381c4b6566bb1a06267d2bfcd1821.zip |
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 <jsnow@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1434380534-7680-1-git-send-email-stefanha@redhat.com
Signed-off-by: Jeff Cody <jcody@redhat.com>
Diffstat (limited to 'block/backup.c')
-rw-r--r-- | block/backup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/backup.c b/block/backup.c index d3c7d9f85d..965654d521 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); |