From: Jeff Cody <jcody@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, pbonzini@redhat.com, eblake@redhat.com,
armbru@redhat.com, lcapitulino@redhat.com
Subject: [Qemu-devel] [PATCH v2 0/2] Group Live Snapshots
Date: Sun, 26 Feb 2012 14:31:25 -0500 [thread overview]
Message-ID: <cover.1330282361.git.jcody@redhat.com> (raw)
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
next reply other threads:[~2012-02-26 19:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-26 19:31 Jeff Cody [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1330282361.git.jcody@redhat.com \
--to=jcody@redhat.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).