From: Kevin Wolf <kwolf@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: fsimonce@redhat.com, eblake@redhat.com, qemu-devel@nongnu.org,
stefanha@linux.vnet.ibm.com, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 00/10] Mirrored block writes
Date: Fri, 09 Mar 2012 16:36:21 +0100 [thread overview]
Message-ID: <4F5A2375.3030307@redhat.com> (raw)
In-Reply-To: <1331056563-7503-1-git-send-email-pbonzini@redhat.com>
Am 06.03.2012 18:55, schrieb Paolo Bonzini:
> v4 includes Federico's drive-reopen (patch 10) command, fixes another
> small bug in Jeff's code (patch 2), and tweaks the union handling for
> older compilers.
>
> v3 tested with the following scenarios, v4 only d/e:
>
> a) mirror only
>
> 1) create base.qcow2 and starat QEMU with it
>
> 2) Execute the following QMP command
>
> { "execute": "qmp_capabilities" }
> { "execute": "transaction", "arguments":
> {'actions': [
> { 'type': 'drive-mirror', 'data' :
> { 'device': 'ide0-hd0', 'target': '/home/pbonzini/mirror.qcow2' } } ] } }
> { "execute": "cont" }
>
> 3) hibernate the guest (this requires an IDE disk and -cpu kvm64,-kvmclock)
>
> 4) restart the guest with mirror.qcow2
>
>
> b) Same as (a) with drive-mirror command.
>
>
> c) streaming to new image
>
> 1) start QEMU with an existing image test.img
>
> 2) execute the following HMP commands
>
> drive_mirror -s ide0-hd0 /home/pbonzini/mirror.qed qed
> block_stream ide0-hd0
>
> 3) shut down the guest (sorry, this took a looong time and I forgot to
> hibernate here)
>
> 4) move away the base image
>
> 5) restart the guest with mirror.qed
>
>
> d) atomic snapshot+mirror (QMP only):
>
> 1) start QEMU with an existing image test.img
>
> 2) Execute the following QMP command
>
> { "execute": "qmp_capabilities" }
> { "execute": "transaction", "arguments":
> {'actions': [
> { 'type': 'blockdev-snapshot-sync', 'data' :
> { 'device': 'ide0-hd0', 'snapshot-file': '/home/pbonzini/base.qcow2' } },
> { 'type': 'drive-mirror', 'data' :
> { 'device': 'ide0-hd0', 'target': '/home/pbonzini/mirror.qcow2' } } ] } }
> { "execute": "cont" }
>
> 3) hibernate the guest (this requires an IDE disk and -cpu kvm64,-kvmclock)
>
> 4) check that mirror.qcow2 has test.img as the base
>
> 5) restart the guest with base.qcow2
>
> 6) restart the guest with mirror.qcow2
>
>
> e) simple snapshot with snapshot_blkdev and snapshot_blkdev -n.
>
> v3->v4:
> avoid literals with anonymous unions in them, add "void *data" to
> all unions (Mark Wu); add drive-reopen (Federico); new patch to fix
> use-after-free in group snapshots; patch splitting nits (Eric).
>
> v2->v3:
> replace reuse argument with NewImageMode enum and mode argument;
> renamed all commands and actions; implemented blockdev-snapshot-sync
> in terms of group snasphots; added new drive-mirror command and
> HMP equivalent.
>
> Federico Simoncelli (1):
> Add the drive-reopen command
>
> Marcelo Tosatti (1):
> Add blkmirror block driver
>
> Paolo Bonzini (8):
> use QSIMPLEQ_FOREACH_SAFE when freeing list elements
> fix format name for backing file
> qapi: complete implementation of unions
> rename blockdev-group-snapshot-sync
> add mode field to blockdev-snapshot-sync transaction item
> qmp: convert blockdev-snapshot-sync to a wrapper around transactions
> add mirroring to transaction
> add drive-mirror command and HMP equivalent
>
> Makefile.objs | 2 +-
> block/blkmirror.c | 239 +++++++++++++++++++++++++++++++++++++++++++++
> blockdev.c | 202 +++++++++++++++++++++++++++-----------
> hmp-commands.hx | 47 ++++++++-
> hmp.c | 45 ++++++++-
> hmp.h | 2 +
> qapi-schema-test.json | 10 ++
> qapi-schema.json | 143 +++++++++++++++++++++++----
> qmp-commands.hx | 135 +++++++++++++++++++++-----
> scripts/qapi-types.py | 6 +
> scripts/qapi-visit.py | 31 ++++++-
> test-qmp-input-visitor.c | 18 ++++
> test-qmp-output-visitor.c | 34 +++++++
> 13 files changed, 804 insertions(+), 110 deletions(-)
> create mode 100644 block/blkmirror.c
Thanks, applied patches 1-6 for now. I'll review the mirroring part later.
Kevin
prev parent reply other threads:[~2012-03-09 15:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-06 17:55 [Qemu-devel] [PATCH v4 00/10] Mirrored block writes Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 01/10] use QSIMPLEQ_FOREACH_SAFE when freeing list elements Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 02/10] fix format name for backing file Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 03/10] qapi: complete implementation of unions Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 04/10] rename blockdev-group-snapshot-sync Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 05/10] add mode field to blockdev-snapshot-sync transaction item Paolo Bonzini
2012-03-06 17:55 ` [Qemu-devel] [PATCH v4 06/10] qmp: convert blockdev-snapshot-sync to a wrapper around transactions Paolo Bonzini
2012-03-06 17:56 ` [Qemu-devel] [PATCH v4 07/10] Add blkmirror block driver Paolo Bonzini
2012-03-06 17:56 ` [Qemu-devel] [PATCH v4 08/10] add mirroring to transaction Paolo Bonzini
2012-03-06 17:56 ` [Qemu-devel] [PATCH v4 09/10] add drive-mirror command and HMP equivalent Paolo Bonzini
2012-03-06 17:56 ` [Qemu-devel] [PATCH v4 10/10] Add the drive-reopen command Paolo Bonzini
2012-03-13 20:48 ` Eric Blake
2012-03-14 0:14 ` Federico Simoncelli
2012-03-14 9:34 ` Kevin Wolf
2012-03-14 13:11 ` Eric Blake
2012-03-14 14:30 ` Kevin Wolf
2012-03-14 13:29 ` Federico Simoncelli
2012-03-14 9:17 ` Kevin Wolf
2012-03-14 9:19 ` Paolo Bonzini
2012-03-14 9:35 ` Kevin Wolf
2012-03-09 15:36 ` Kevin Wolf [this message]
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=4F5A2375.3030307@redhat.com \
--to=kwolf@redhat.com \
--cc=eblake@redhat.com \
--cc=fsimonce@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
/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 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.