[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v9 07/10] qmp: Add support of "dirty-bitmap" syn
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v9 07/10] qmp: Add support of "dirty-bitmap" sync mode for drive-backup |
Date: |
Fri, 12 Dec 2014 10:58:07 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Dec 10, 2014 at 09:34:00AM +0800, Fam Zheng wrote:
> On Tue, 12/09 17:44, Stefan Hajnoczi wrote:
> > On Mon, Dec 01, 2014 at 03:30:13PM -0500, John Snow wrote:
> > > From: Fam Zheng <address@hidden>
> > >
> > > For "dirty-bitmap" sync mode, the block job will iterate through the
> > > given dirty bitmap to decide if a sector needs backup (backup all the
> > > dirty clusters and skip clean ones), just as allocation conditions of
> > > "top" sync mode.
> > >
> > > There are two bitmap use modes for sync=dirty-bitmap:
> > >
> > > - reset: backup job makes a copy of bitmap and resets the original
> > > one.
> > > - consume: backup job makes the original anonymous (invisible to user)
> > > and releases it after use.
> >
> > It's not obvious to me that we need both modes. Can you explain why the
> > choice between reset and consume is necessary?
>
> Reset is used in continuous incremental backup, which is obvious: user can
> track the new data that comes after this drive-backup starts.
>
> Consume is better when user has no intention to use this dirty bitmap
> afterward. It comes with more convenience and less overhead: no need to
> explicitly free the bitmap, and no need for drive-backup job to copy the dirty
> bitmap.
>
> Copy shouldn't be too slow if it's just in memory, but it does require
> 2x memory anyway.
>
> Alternatively these can all be implemented with transactions.
I'm concerned about how error cases and live migration will be handled.
It is important not to lose the contents of the dirty bitmap until
backup has completed successfully.
If there is an I/O error, what happens? While in error state can QEMU
be shut down or can live migration take place?
I prefer if we have just one mode that is fully tested and thought
through.
Stefan
pgpCYLtARQzyR.pgp
Description: PGP signature
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, (continued)
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Eric Blake, 2014/12/01
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Stefan Hajnoczi, 2014/12/09
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Markus Armbruster, 2014/12/10
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Stefan Hajnoczi, 2014/12/12
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Markus Armbruster, 2014/12/15
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, John Snow, 2014/12/17
- Re: [Qemu-devel] [PATCH v9 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Markus Armbruster, 2014/12/17
[Qemu-devel] [PATCH v9 07/10] qmp: Add support of "dirty-bitmap" sync mode for drive-backup, John Snow, 2014/12/01
[Qemu-devel] [PATCH v9 06/10] qmp: Add block-dirty-bitmap-enable and block-dirty-bitmap-disable, John Snow, 2014/12/01
[Qemu-devel] [PATCH v9 05/10] block: Add bdrv_copy_dirty_bitmap and bdrv_reset_dirty_bitmap, John Snow, 2014/12/01
[Qemu-devel] [PATCH v9 08/10] qapi: Add transaction support to block-dirty-bitmap-{add, enable, disable}, John Snow, 2014/12/01
[Qemu-devel] [PATCH v9 10/10] qemu-iotests: Add tests for drive-backup sync=dirty-bitmap, John Snow, 2014/12/01
[Qemu-devel] [PATCH v9 09/10] qmp: Add dirty bitmap 'enabled' field in query-block, John Snow, 2014/12/01