From: Jeff Cody <jcody@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: [Qemu-devel] [PATCH 0/3] Group Live Snapshots
Date: Mon, 20 Feb 2012 12:31:09 -0500 [thread overview]
Message-ID: <cover.1329758006.git.jcody@redhat.com> (raw)
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
next reply other threads:[~2012-02-20 17:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-20 17:31 Jeff Cody [this message]
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
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.1329758006.git.jcody@redhat.com \
--to=jcody@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@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).