All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] Group Live Snapshots
@ 2012-02-26 19:31 Jeff Cody
  2012-02-26 19:31 ` [Qemu-devel] [PATCH v2 1/2] qapi: Introduce blockdev-group-snapshot-sync command Jeff Cody
  2012-02-26 19:31 ` [Qemu-devel] [PATCH v2 2/2] QMP: Add qmp command for blockdev-group-snapshot-sync Jeff Cody
  0 siblings, 2 replies; 13+ messages in thread
From: Jeff Cody @ 2012-02-26 19:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, pbonzini, eblake, armbru, lcapitulino

This patchset adds the ability to take a snapshot of a group of devices,
rather than each device individually.  Upon failure of any snapshot, all
snapshots taken by the command will be abandoned, and the appropriate failure
code returned.

This differs from v1 in that:
    * The QAPI input mechanism for JSON-arrays of qdict items is now used
      correctly, and there is no modification of the existing monitor code.
      This drops the original patch 1 from v1.
    * Rather than use bdrv_close() and bdrv_open() to pivot the snapshot,
      the fields of the BlockDriverState are manipulated so that there are
      no irrecoverable failure points in the snapshot process. This is based
      on a suggestion by Kevin Wolf.
    * The qapi & block code was broken out into patch 1/2, and the QMP command
	  placed patch 2/2
    * Since there are no irrecoverable error points, there is a no need for
      a command to return a list of failures.  There is at most one failure
      to report, which is the first failure encountered. In light of that,
      patch 3 from v1 was dropped.

Some things for careful review:

    In patch 1/2, in the new bdrv_append() function:
        * Are all of the relevant fields preserved in the top bs?
         (see 'bdrv_append()')
        * Conversely, are any of the fields being preserved that should not be?
        * Are there race condition concerns at the end of bdrv_append(), at the
          line '*bs_top = tmp;', which replaces the contents of the current top
          bs?


Jeff Cody (2):
  qapi: Introduce blockdev-group-snapshot-sync command
  QMP: Add qmp command for blockdev-group-snapshot-sync

 block.c          |   47 ++++++++++++++++++++
 block.h          |    1 +
 blockdev.c       |  128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 qapi-schema.json |   38 ++++++++++++++++
 qmp-commands.hx  |   39 ++++++++++++++++
 5 files changed, 253 insertions(+), 0 deletions(-)

-- 
1.7.9.rc2.1.g69204

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

end of thread, other threads:[~2012-02-27 17:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-26 19:31 [Qemu-devel] [PATCH v2 0/2] Group Live Snapshots Jeff Cody
2012-02-26 19:31 ` [Qemu-devel] [PATCH v2 1/2] qapi: Introduce blockdev-group-snapshot-sync command Jeff Cody
2012-02-27 11:13   ` Stefan Hajnoczi
2012-02-27 14:26     ` Jeff Cody
2012-02-27 14:40       ` Stefan Hajnoczi
2012-02-27 15:23         ` Jeff Cody
2012-02-27 15:31           ` Stefan Hajnoczi
2012-02-27 15:46   ` Kevin Wolf
2012-02-27 16:51     ` Paolo Bonzini
2012-02-27 17:02     ` Jeff Cody
2012-02-27 17:22       ` Kevin Wolf
2012-02-27 17:31         ` Jeff Cody
2012-02-26 19:31 ` [Qemu-devel] [PATCH v2 2/2] QMP: Add qmp command for blockdev-group-snapshot-sync Jeff Cody

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.