qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/6] Mirrored writes using blockdev-transaction


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 0/6] Mirrored writes using blockdev-transaction
Date: Wed, 29 Feb 2012 14:37:24 +0100

This implements all ingredients to establish mirrored writes.
The drive-reopen command that is used to terminate mirrored writes
is not included in this series.

Tested with the following scenarios:

a) mirror only

1) create base.qcow2 and start QEMU with it

2) Execute the following QMP command

{ "execute": "qmp_capabilities" }
{ "execute": "blockdev-transaction", "arguments":
  {'actions': [
    { 'type': '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) atomic snapshot+mirror

1) start QEMU with an existing image test.img

2) Execute the following QMP command

{ "execute": "qmp_capabilities" }
{ "execute": "blockdev-transaction", "arguments":
  {'actions': [
    { 'type': 'snapshot', 'data' :
      { 'device': 'ide0-hd0', 'snapshot-file': '/home/pbonzini/base.qcow2' } },
    { 'type': '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



Marcelo Tosatti (1):
  Add blkmirror block driver

Paolo Bonzini (5):
  fix format name for backing file
  qapi: complete implementation of unions
  rename blockdev-group-snapshot-sync
  add reuse field
  add mirroring to blockdev-transaction

 Makefile.objs             |    2 +-
 block/blkmirror.c         |  153 +++++++++++++++++++++++++++++++++++++++++++++
 blockdev.c                |  111 +++++++++++++++++++++-----------
 docs/blkmirror.txt        |   16 +++++
 qapi-schema-test.json     |   10 +++
 qapi-schema.json          |   51 ++++++++++++---
 qmp-commands.hx           |   66 +++++++++++++-------
 scripts/qapi-types.py     |    5 ++
 scripts/qapi-visit.py     |   31 +++++++++-
 test-qmp-input-visitor.c  |   19 ++++++
 test-qmp-output-visitor.c |   35 ++++++++++
 11 files changed, 426 insertions(+), 73 deletions(-)
 create mode 100644 block/blkmirror.c
 create mode 100644 docs/blkmirror.txt

-- 
1.7.7.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]