On 21.05.2015 13:07, Pavel Boldin wrote: > 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 > So, I think we are almost there. I've pointed out a few things. Moreover, as I've been reviewing I keep fixing the nits I'm raising. So instead of me giving you headache of posting v3, I'll do that. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list