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

Reply via email to