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 four patches. Fifth patch is adding the necessary parameter `migrate_disks' and passes it through the QEMU driver call stack. The introduced `qemuMigrateDisk' 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 migrate if it is not shared, not readonly and has a source. Sixth 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. Changes in v2: * Addressed review comments * Removed all the duplicates check in the commit 'multi-value parameters in virTypedParamsAdd*' * reimplemented virTypedParamsPick as virTypedParamsFilter * renamed virTypedParamsPackStrings to virTypedParamsAddStringList [1] https://bugzilla.redhat.com/show_bug.cgi?id=1203032 Pavel Boldin (6): util: multi-value virTypedParameter util: multi-value parameters in virTypedParamsAdd* util: virTypedParams{Filter,PickStrings} util: add virTypedParamsAddStringList qemu: migration: selective block device migration virsh: selective block device migration include/libvirt/libvirt-domain.h | 9 ++ include/libvirt/libvirt-host.h | 16 +++ src/libvirt_public.syms | 7 + src/qemu/qemu_driver.c | 66 ++++++--- src/qemu/qemu_migration.c | 174 +++++++++++++++-------- src/qemu/qemu_migration.h | 23 ++-- src/util/virtypedparam.c | 263 ++++++++++++++++++++++++++++------- src/util/virtypedparam.h | 10 ++ tests/Makefile.am | 6 + tests/virtypedparamtest.c | 291 +++++++++++++++++++++++++++++++++++++++ tools/virsh-domain.c | 23 ++++ tools/virsh.pod | 5 +- 12 files changed, 750 insertions(+), 143 deletions(-) create mode 100644 tests/virtypedparamtest.c -- 1.9.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list