[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: suppor
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: support libvirt API |
Date: |
Fri, 8 Jun 2018 15:31:23 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 06/06/2018 02:24 PM, John Snow wrote:
> This is largely the same series that Vladimir sent in January, but at
> the time I was unsure of if we'd want these commands or not in QEMU.
>
> After discussing with Virtuozzo their plans for a checkpoint-like API
> implemented primarily in libvirt, I agree that these commands are at
> least tentatively useful.
>
> Eric Blake is currently writing a counter-proposal and demo API to show
> to Virtuozzo on libvirt's development list. Check in these QMP commands
> with the experimental prefix 'x-' for now so that it can be used for
> prototyping.
>
> Once the design for the libvirt API looks reasonably final I will
> remove the 'x-' prefixes, or, if we wind up not using these particular
> commands I will delete them entirely.
>
> v4:
> - Reinstated Vladimir's authorship credit on all patches
> - Switched 2.12 to 3.0
> - Edited doc to clarify failure mode for merge (Jeff)
> - Removed !bs check where applicable (Jeff)
>
> v3:
> - Drop patch one (already merged)
> - Minor phrasing adjustments to documentation
> - Removed &state->bs argument to bitmap lookup for enable/disable
> - Added x- prefix to all three commands and to add's new argument.
>
> Vladimir's original cover letter is below:
>
> There are three qmp commands, needed to implement external backup API.
>
> Using these three commands, client may do all needed bitmap management by
> hand:
>
> on backup start we need to do a transaction:
> {disable old bitmap, create new bitmap}
>
> on backup success:
> drop old bitmap
>
> on backup fail:
> enable old bitmap
> merge new bitmap to old bitmap
> drop new bitmap
>
> Vladimir Sementsov-Ogievskiy (5):
> block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap
> qapi: add x-block-dirty-bitmap-enable/disable
> qmp: transaction support for x-block-dirty-bitmap-enable/disable
> qapi: add x-block-dirty-bitmap-merge
> qapi: add disabled parameter to block-dirty-bitmap-add
>
> block/dirty-bitmap.c | 24 ++++++-
> blockdev.c | 163
> ++++++++++++++++++++++++++++++++++++++++++-
> include/block/dirty-bitmap.h | 3 +-
> qapi/block-core.json | 86 ++++++++++++++++++++++-
> qapi/transaction.json | 4 ++
> 5 files changed, 275 insertions(+), 5 deletions(-)
>
Hmm, I sorta-maybe have jurisdiction on this, but it touches more
blockdev.c and qapi/block-core.json than it does block/dirty-bitmap.c.
I'm gonna send a PR for this and if I was wrong about that, Kevin, just
veto the PR thread.
--js
- [Qemu-block] [PATCH v2 0/5] block dirty bitmaps: support libvirt API, John Snow, 2018/06/06
- [Qemu-block] [PATCH v2 2/5] qapi: add x-block-dirty-bitmap-enable/disable, John Snow, 2018/06/06
- [Qemu-block] [PATCH v2 3/5] qmp: transaction support for x-block-dirty-bitmap-enable/disable, John Snow, 2018/06/06
- [Qemu-block] [PATCH v2 5/5] qapi: add disabled parameter to block-dirty-bitmap-add, John Snow, 2018/06/06
- [Qemu-block] [PATCH v2 1/5] block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap, John Snow, 2018/06/06
- [Qemu-block] [PATCH v2 4/5] qapi: add x-block-dirty-bitmap-merge, John Snow, 2018/06/06
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: support libvirt API,
John Snow <=