On 12.06.2015 12:09, Stefan Hajnoczi wrote:
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.
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
---
block/backup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/backup.c b/block/backup.c
index d3f648d..c1ad975 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -430,7 +430,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);
Since I can't find a seperate patch on qemu-devel or qemu-block yet:
Reviewed-by: Max Reitz <mre...@redhat.com>