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
--
1.9.1