qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: support libvirt API
@ 2018-06-06 18:24 John Snow
  2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 1/5] block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap John Snow
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: John Snow @ 2018-06-06 18:24 UTC (permalink / raw)
  To: qemu-block, qemu-devel
  Cc: Eric Blake, John Snow, Fam Zheng, Kevin Wolf, Max Reitz,
	Markus Armbruster

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(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-06-08 19:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-06 18:24 [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: support libvirt API John Snow
2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 1/5] block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap John Snow
2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 2/5] qapi: add x-block-dirty-bitmap-enable/disable John Snow
2018-06-07  3:21   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 3/5] qmp: transaction support for x-block-dirty-bitmap-enable/disable John Snow
2018-06-07  3:21   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 4/5] qapi: add x-block-dirty-bitmap-merge John Snow
2018-06-07  3:20   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-06-06 18:24 ` [Qemu-devel] [PATCH v2 5/5] qapi: add disabled parameter to block-dirty-bitmap-add John Snow
2018-06-08 19:31 ` [Qemu-devel] [PATCH v2 0/5] block dirty bitmaps: support libvirt API John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).