So, I think we are almost there. I've pointed out a few things.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
>
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