
Thank you. I will go through your comments just in case I'm going to push any other changes. Sorry for the inconvenience from my patches :-/. Pavel On Mon, May 25, 2015 at 5:58 PM, Michal Privoznik <mprivozn@redhat.com> 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
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
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
On 21.05.2015 13:07, Pavel Boldin wrote: pair list. If 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