[libvirt] [PATCH 0/5] Selective block device migration implementation

Pavel Boldin pboldin at mirantis.com
Tue May 12 12:07:27 UTC 2015

The patchset represented in the mail thread implements the selective block
device migration for the QEMU driver. This closes the referenced bug [1].

First the supplementary API implemented allowing for multiple key-values pair
in the virTypedParameter arrays. This is used to pass the list of block
devices to migrate in the following patches. Unit tests for this are added as
well. This is the subject of the first three patches.

Fourth patch is adding the necessary parameter `migrate_disks' and passes it
through the QEMU driver call stack. The introduced `qemuMigrateBlockDevice'
function is then checks that the disk is to be migrated because it is in the
list. If there is no list specified then the legacy check is used: the device
is not shared, not readonly and has a source.

Fifth and the last patch is adding the necessary code to the `virsh' utility
making it able for user to specify a comma-separated list of the block device
names that are to be migrated.

The implemented Python bindings patch is to be presented.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1203032

Pavel Boldin (5):
  util: multi-value virTypedParameter
  util: virTypedParamsPick* multikey API
  util: add virTypedParamsPackStrings
  qemu: migration: selective block device migration
  virsh: selective block device migration

 include/libvirt/libvirt-domain.h |   9 ++
 include/libvirt/libvirt-host.h   |  24 ++++
 src/libvirt_public.syms          |   3 +
 src/qemu/qemu_driver.c           |  63 ++++++---
 src/qemu/qemu_migration.c        | 197 ++++++++++++++++----------
 src/qemu/qemu_migration.h        |  23 ++--
 src/util/virtypedparam.c         | 290 +++++++++++++++++++++++++++++++--------
 tests/Makefile.am                |   6 +
 tests/virtypedparamtest.c        | 289 ++++++++++++++++++++++++++++++++++++++
 tools/virsh-domain.c             |  44 ++++++
 10 files changed, 788 insertions(+), 160 deletions(-)
 create mode 100644 tests/virtypedparamtest.c


More information about the libvir-list mailing list