qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 05/15] backup: Extract dirty bitmap handling


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v3 05/15] backup: Extract dirty bitmap handling as a separate function
Date: Tue, 14 Jul 2015 10:46:05 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Mon, 07/13 19:06, John Snow wrote:
> 
> 
> On 07/09/2015 11:46 PM, Fam Zheng wrote:
> > This will be reused by the coming new transactional completion code.
> > 
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> >  block/backup.c | 26 ++++++++++++++++----------
> >  1 file changed, 16 insertions(+), 10 deletions(-)
> > 
> > diff --git a/block/backup.c b/block/backup.c
> > index 965654d..6e24384 100644
> > --- a/block/backup.c
> > +++ b/block/backup.c
> > @@ -210,6 +210,21 @@ static void backup_iostatus_reset(BlockJob *job)
> >  
> >      bdrv_iostatus_reset(s->target);
> >  }
> > +static void backup_handle_dirty_bitmap(BackupBlockJob *job, int ret)
> > +{
> > +    BdrvDirtyBitmap *bm;
> > +    BlockDriverState *bs = job->common.bs;
> > +
> > +    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);
> > +    } else {
> > +        /* Everything is fine, delete this bitmap and install the backup. 
> > */
> > +        bm = bdrv_dirty_bitmap_abdicate(bs, job->sync_bitmap, NULL);
> > +        assert(bm);
> > +    }
> > +}
> >  
> >  static const BlockJobDriver backup_job_driver = {
> >      .instance_size  = sizeof(BackupBlockJob),
> > @@ -430,16 +445,7 @@ static void coroutine_fn backup_run(void *opaque)
> >      qemu_co_rwlock_unlock(&job->flush_rwlock);
> >  
> >      if (job->sync_bitmap) {
> > -        BdrvDirtyBitmap *bm;
> > -        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);
> > -        } else {
> > -            /* Everything is fine, delete this bitmap and install the 
> > backup. */
> > -            bm = bdrv_dirty_bitmap_abdicate(bs, job->sync_bitmap, NULL);
> > -            assert(bm);
> > -        }
> > +        backup_handle_dirty_bitmap(job, ret);
> >      }
> >      hbitmap_free(job->bitmap);
> >  
> > 
> 
> Bike-shedding: strange name, I may have used 'cleanup' or 'finalize' or
> so, but that's neither here nor there.

Good suggestion, so I'll change to "cleanup" while keeping your reviewed-by,
ok? :)

Fam

> 
> Reviewed-by: John Snow <address@hidden>
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]