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>

Reply via email to