[libvirt] [PATCH v3 00/18] Implement virDomainBlockCopy

Eric Blake eblake at redhat.com
Sun Aug 31 04:02:18 UTC 2014


Took me longer than I wanted to get v3 posted.  There's lots of
new patches in this version, based on feedback on v2.

Among other things, the bandwidth of virDomainBlockCopy is in
bytes/s, and all the remaining interfaces are updated to use a
flags value to decide whether to use bytes/s instead of the
back-compat MiB/s.

I really want patch 1 in 1.2.8; pasth 2-17 would be nice but
it may be better to delay to later, and I still don't have
virsh updated to cover the changed proposed in patch 18 so that
one should probably wait.

Eric Blake (18):
  blockcopy: allow larger buf-size
  blockjob: shuffle block rebase code
  blockjob: split out block info driver handling
  blockjob: split out block info monitor handling
  blockjob: hoist bandwidth scaling out of monitor code
  blockjob: allow finer bandwidth tuning for query
  blockjob: split up virsh blockjob info
  blockjob: add new --raw flag to virsh blockjob
  blockjob: add new --bytes flag to virsh blockjob
  blockcopy: allow block device destination
  blockcopy: split out virsh implementation
  blockcopy: expose new API in virsh
  blockcopy: remote implementation for new API
  blockcopy: tweak how rebase calls into copy
  blockcopy: add a way to parse disk source
  blockcopy: add qemu implementation of new API
  blockcopy: add qemu implementation of new tunables
  blockjob: allow finer bandwidth tuning for set speed

 include/libvirt/libvirt.h.in                       |  77 +++--
 src/conf/domain_conf.c                             | 107 ++++--
 src/conf/domain_conf.h                             |   4 +
 src/libvirt.c                                      |  99 ++++--
 src/libvirt_private.syms                           |   1 +
 src/qemu/qemu_driver.c                             | 382 ++++++++++++++++-----
 src/qemu/qemu_migration.c                          |  10 +-
 src/qemu/qemu_monitor.c                            | 108 +++---
 src/qemu/qemu_monitor.h                            |  16 +-
 src/qemu/qemu_monitor_json.c                       |  80 +++--
 src/qemu/qemu_monitor_json.h                       |   9 +-
 src/remote/remote_driver.c                         |   1 +
 src/remote/remote_protocol.x                       |  18 +-
 src/remote_protocol-structs                        |  11 +
 tests/qemumonitorjsontest.c                        |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml  |   4 +-
 tools/virsh-domain.c                               | 336 ++++++++++++++----
 tools/virsh.c                                      |   2 +
 tools/virsh.h                                      |   2 +
 tools/virsh.pod                                    |  65 ++--
 20 files changed, 975 insertions(+), 359 deletions(-)

-- 
1.9.3




More information about the libvir-list mailing list