All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.