[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC v2 1/5] block: add bitmap-populate job
From: |
Kevin Wolf |
Subject: |
Re: [PATCH RFC v2 1/5] block: add bitmap-populate job |
Date: |
Thu, 4 Jun 2020 13:31:45 +0200 |
Am 04.06.2020 um 11:16 hat Peter Krempa geschrieben:
> On Thu, Jun 04, 2020 at 11:12:31 +0200, Kevin Wolf wrote:
> > Am 18.05.2020 um 22:49 hat Eric Blake geschrieben:
> > > > +
> > > > + /* NB: new bitmap is anonymous and enabled */
> > > > + cluster_size = bdrv_dirty_bitmap_granularity(target_bitmap);
> > > > + new_bitmap = bdrv_create_dirty_bitmap(bs, cluster_size, NULL,
> > > > errp);
> > > > + if (!new_bitmap) {
> > > > + return NULL;
> > > > + }
> > >
> > > This means if the guest writes to the disk while the job is ongoing, the
> > > bitmap will be updated to mark that portion of the bitmap as set, even if
> > > it
> > > was not allocated at the time the job started. But then again, the guest
> > > writes are causing allocation, so this seems like the right thing to do.
> >
> > Is the target bitmap active at the same time, i.e. will it get the
> > correct information only from new_bitmap or are the bits already set in
> > it anyway?
>
> Yes, libvirt plans to use it with an active non-persistent bitmap which
> will in subsequent steps be merged into others. The bitmap is added in
> the same transaction. The bitmap must be active, because we need to wait
> for the block jobs to finish before it becomes usable and thus can't
> sequence in other operations until later.
A lot of bitmap merging then, because the block job in this series
already creates a temporary internal bitmap that is merged into the
target bitmap on completion. But if the target bitmap is only libvirt's
temporary bitmap to be merged to yet another bitmap, I wonder if this
process shouldn't be simplified.
Kevin
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/04
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/04
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Peter Krempa, 2020/06/04
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job,
Kevin Wolf <=
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Peter Krempa, 2020/06/04
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Peter Krempa, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Peter Krempa, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Peter Krempa, 2020/06/05
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Vladimir Sementsov-Ogievskiy, 2020/06/06
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Kevin Wolf, 2020/06/08
- Re: [PATCH RFC v2 1/5] block: add bitmap-populate job, Vladimir Sementsov-Ogievskiy, 2020/06/08