qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] Group Live Snapshots
@ 2012-02-20 17:31 Jeff Cody
  2012-02-20 17:31 ` [Qemu-devel] [PATCH 1/3] qapi: Allow QMP/QAPI commands to have array inputs Jeff Cody
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Jeff Cody @ 2012-02-20 17:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Markus Armbruster, Luiz Capitulino

This series of patches adds the ability to take group live snapshots, as 
opposed to indvidual device snapshots.  In addition, it adds the ability to
pass an array input parameter to a QMP command, although without argument 
validation.

Currently, when taking live snapshots of devices, if a device fails then the
snapshot command re-opens the original image. The problem with this approach
is that if multiple devices need to have snapshots taken together, if any
of the snapshots after the first device fails, then the devices are left in
and inconsistent state with respect to each other (since some of them have
been reverted to the original image, while others have not).

This series introduces a new command to address this issue, which takes
snapshots of a group of disks.  An arbitrary number of disks may be passed in
as a list / JSON array, and blockdev-group-snapshot-sync will take a snapshot
of that group atomically (with respect to the command).  If any disk fails the
snapshot, then all disks in the group are reverted back to the original images.
This allows the drives to remain consistent.

Another command is also introduced, that will return a list of strings, each
string corresponding to a filename of any failed image opens, including failure
to reopen the original image.  This list corresponds to the last invocation
of the command blockdev-query-group-snapshot-failure; that is, it can be called
any time after a group live snapshot, and see a list of all failed opens.  If
there were no failures, it returns an empty list.


Jeff Cody (3):
  qapi: Allow QMP/QAPI commands to have array inputs
  qapi: Introduce blockdev-group-snapshot-sync command
  qapi: Introduce blockdev-query-group-snapshot-failure

 blockdev.c       |  170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 monitor.c        |   72 +++++++++++++++++++----
 monitor.h        |    1 +
 qapi-schema.json |   70 ++++++++++++++++++++++
 qmp-commands.hx  |   44 ++++++++++++++
 5 files changed, 345 insertions(+), 12 deletions(-)

-- 
1.7.9.rc2.1.g69204

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

end of thread, other threads:[~2012-02-22 20:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-20 17:31 [Qemu-devel] [PATCH 0/3] Group Live Snapshots Jeff Cody
2012-02-20 17:31 ` [Qemu-devel] [PATCH 1/3] qapi: Allow QMP/QAPI commands to have array inputs Jeff Cody
2012-02-22 14:53   ` Anthony Liguori
2012-02-22 16:12     ` Jeff Cody
2012-02-22 17:35       ` Anthony Liguori
2012-02-22 17:47         ` Eric Blake
2012-02-22 17:56           ` Anthony Liguori
2012-02-22 18:32             ` Jeff Cody
2012-02-22 18:26         ` Jeff Cody
2012-02-22 20:25         ` Luiz Capitulino
2012-02-22 20:31           ` Anthony Liguori
2012-02-22 20:37             ` Luiz Capitulino
2012-02-20 17:31 ` [Qemu-devel] [PATCH 2/3] qapi: Introduce blockdev-group-snapshot-sync command Jeff Cody
2012-02-20 17:41   ` Eric Blake
2012-02-21 12:52     ` Jeff Cody
2012-02-20 17:31 ` [Qemu-devel] [PATCH 3/3] qapi: Introduce blockdev-query-group-snapshot-failure Jeff Cody
2012-02-20 17:48   ` Eric Blake
2012-02-21 14:11     ` Jeff Cody

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