On 07/09/2015 11:46 PM, Fam Zheng wrote: > 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. > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > Reviewed-by: Fam Zheng <f...@redhat.com> > Signed-off-by: Fam Zheng <f...@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); >
Jeff Cody should've merged this one by now, but I guess he hasn't sent a pull request for it yet. This should be in 2.4, I think. --js