On 03/25/2015 04:36 AM, Wen Congyang wrote:
Block replication is a very important feature which is used for
continuous checkpoints(for example: COLO).

Usage:
Please refer to docs/block-replication.txt

You can get the patch here:
https://github.com/wencongyang/qemu-colo/commits/block-replication-v2

Changs Log:
V2:
1. Redesign the secondary qemu(use image-fleecing)
2. Use Error objects to return error message
3. Address the comments from Max Reitz and Eric Blake

Wen Congyang (13):
   docs: block replication's description
   quorum: allow ignoring child errors
   NBD client: connect to nbd server later
   Add new block driver interfaces to control block replication
   quorum: implement block driver interfaces for block replication
   NBD client: implement block driver interfaces for block replication
   allow writing to the backing file
   Allow creating backup jobs when opening BDS
   block: Parse "backing_reference" option to reference existing BDS
   Backup: clear all bitmap when doing block checkpoint
   qcow2: support colo
   skip nbd_target when starting block replication
   Don't allow a disk use backing reference target

  block.c                    | 242 +++++++++++++++++++++++-
  block/Makefile.objs        |   2 +-
  block/backup.c             |  12 ++
  block/nbd.c                | 171 +++++++++++++++--
  block/qcow2.c              | 447 ++++++++++++++++++++++++++++++++++++++++++++-
  block/qcow2.h              |   6 +
  block/quorum.c             | 143 ++++++++++++++-
  docs/block-replication.txt | 147 +++++++++++++++
  include/block/block.h      |   5 +
  include/block/block_int.h  |  13 ++
  include/qemu/hbitmap.h     |   8 +
  qapi/block.json            |  16 ++
  tests/qemu-iotests/051     |  13 ++
  tests/qemu-iotests/051.out |  13 ++
  util/hbitmap.c             |  19 ++
  15 files changed, 1230 insertions(+), 27 deletions(-)
  create mode 100644 docs/block-replication.txt


When I try this patch with the MicroCheckpointing codebase, I'm having trouble starting up the secondary/backup VM
using the branch "block-replication-v7"

$ qemu-system-x86_64 -drive if=none,driver=raw,file=file.raw,id=nbd_target1 -drive if=virtio,driver=replication,mode=secondary,export=foo,file.file.filename=active_disk.qcow2,file.driver=qcow2,file.backing_reference.drive_id=nbd_target1,file.backing_reference.hidden-disk.file.filename=hidden_disk.qcow2,file.backing_reference.hidden-disk.driver=qcow2,file.backing_reference.hidden-disk.allow-write-backing-file=on

Block format 'qcow2' used by device '' doesn't support the option 'backing_reference.hidden-disk.allow-write-backing-file'

What am I doing wrong here?

- Michael


Reply via email to