[libvirt] [PATCHv2 00/15] live block migration via virDomainBlockCopy

Eric Blake eblake at redhat.com
Fri Apr 6 04:36:46 UTC 2012


v1 was here:
https://www.redhat.com/archives/libvir-list/2012-April/msg00068.html

changes from v1: Paolo has updated the qemu side of things, and built
a scratch image for RHEL that I was able to test with for the new
semantics.  I was actually able to successfully run two different
block copy jobs, one canceled and one pivoted, with SELinux disabled
and this patch series.

Patch 12/15 is for reference only when working with Paolo's build;
it will not go upstream.

Patches 13-15 are optional; the extra flexibility might be nice, but
I haven't yet played with those three enough to know if Paolo's build
behaves like I was expecting.

I obviously have more patches to write, such as supporting the REUSE_EXT
flag to reuse files instead of creating a new one, and fixing several
XXX comments related to SELinux, auditing, and disk locking.  But they
can be extra patches on top of this starting series.

Adam Litke (2):
  blockjob: add API for async virDomainBlockJobAbort
  blockjob: wire up qemu async virDomainBlockJobAbort

Eric Blake (13):
  blockjob: allow for fast-finishing job
  blockjob: add new API flags
  blockjob: add 'blockcopy' to virsh
  blockjob: enhance xml to track mirrors across libvirtd restart
  blockjob: react to active block copy
  blockjob: expose qemu commands for mirrored storage migration
  blockjob: return appropriate event and info
  blockjob: support pivot operation on cancel
  blockjob: implement block copy for qemu
  blockjob: accommodate RHEL backport names
  blockjob: add virDomainBlockCopy
  blockjob: enhance virsh 'blockcopy'
  blockjob: wire up qemu and RPC for block copy

 docs/apibuild.py              |    1 +
 docs/formatdomain.html.in     |   11 ++
 docs/schemas/domaincommon.rng |   19 ++-
 include/libvirt/libvirt.h.in  |   50 ++++++-
 include/libvirt/virterror.h   |    1 +
 src/conf/domain_conf.c        |   54 +++++++
 src/conf/domain_conf.h        |    6 +
 src/driver.h                  |    5 +
 src/libvirt.c                 |  220 +++++++++++++++++++++++++-
 src/libvirt_private.syms      |    1 +
 src/libvirt_public.syms       |    5 +
 src/qemu/qemu_capabilities.c  |    3 +
 src/qemu/qemu_capabilities.h  |    2 +
 src/qemu/qemu_driver.c        |  340 +++++++++++++++++++++++++++++++++++++++--
 src/qemu/qemu_hotplug.c       |    7 +
 src/qemu/qemu_monitor.c       |   50 ++++++
 src/qemu/qemu_monitor.h       |   28 +++-
 src/qemu/qemu_monitor_json.c  |  154 ++++++++++++++++---
 src/qemu/qemu_monitor_json.h  |   21 +++-
 src/remote/remote_driver.c    |    1 +
 src/remote/remote_protocol.x  |   12 ++-
 src/remote_protocol-structs   |    9 +
 src/rpc/gendispatch.pl        |    1 +
 src/util/virterror.c          |    6 +
 tools/virsh.c                 |  140 ++++++++++++++----
 tools/virsh.pod               |   40 +++++-
 26 files changed, 1099 insertions(+), 88 deletions(-)

-- 
1.7.7.6




More information about the libvir-list mailing list