Message ID | 1434103761-29871-5-git-send-email-stefanha@redhat.com |
---|---|
State | New |
Headers | show |
On 06/12/2015 06:09 AM, 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 <stefanha@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); > Reviewed-by: John Snow <jsnow@redhat.com>
On Fri, Jun 12, 2015 at 06:39:19PM -0400, John Snow wrote: > > > On 06/12/2015 06:09 AM, 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 <stefanha@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); > > > > Reviewed-by: John Snow <jsnow@redhat.com> Thanks, I'll send this patch separately and CC qemu-stable.
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 <stefanha@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 <mreitz@redhat.com>
On Wed, Jun 24, 2015 at 07:35:05PM +0200, Max Reitz wrote: > 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 <stefanha@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 <mreitz@redhat.com> Thanks, I must have gotten distracted before sending the email.
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);
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 <stefanha@redhat.com> --- block/backup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)