On 16.06.2015 17:47, Michal Privoznik wrote:
On 16.06.2015 00:42, Pavel Boldin wrote:
> Behold of the fourth re-roll of the selective block device migration patch.
> In this patch we don't only fix the issue with NBD migration format auto-
> detection but also introduce the patches that do enhance the NBD migration
> triggered by `drive-mirror` QEMU command with ability for the user to select
> what disks are to be migrated based on the target name.
>
> First two patches fix some nitpicks, third one fixes the issue with NBD format
> auto-detection.
>
> Middle ones introduce a necessary API to keep a list of block devices to
> migrate in the virTypedParameter array and to work with this list.
>
> Of the two last patches first introduces the `migrate_disks' qemuMigration*
> parameter and pushes it down the call stack making the code to consult it when
> there is a decision to be made whether the block device is to be migrated to
> the new host. When there is no `migrate_disks' parameter given then the old
> scheme is used: only non-shared non-readonly disks with a source are migrated.
>
> The last patch promotes this ability up to the virsh utility and documents
> it as appropriate.
>
> Michal Privoznik (3):
> virDomainDiskGetSource: Mark passed disk as 'const'
> qemuMigrationBeginPhase: Fix function header indentation
> qemuMigrationDriveMirror: Force raw format for NBD
>
> Pavel Boldin (6):
> util: multi-value virTypedParameter
> util: multi-value parameters in virTypedParamsAdd*
> util: virTypedParams{Filter,GetAllStrings}
> 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 | 11 ++
> src/conf/domain_conf.c | 2 +-
> src/conf/domain_conf.h | 2 +-
> src/libvirt_public.syms | 6 +
> src/qemu/qemu_driver.c | 78 ++++++++---
> src/qemu/qemu_migration.c | 264 +++++++++++++++++++++++++----------
> src/qemu/qemu_migration.h | 24 ++--
> src/util/virtypedparam.c | 259 +++++++++++++++++++++++++++-------
> src/util/virtypedparam.h | 19 +++
> tests/Makefile.am | 6 +
> tests/virtypedparamtest.c | 295 +++++++++++++++++++++++++++++++++++++++
> tools/virsh-domain.c | 23 +++
> tools/virsh.pod | 21 +--
> 14 files changed, 854 insertions(+), 165 deletions(-)
> create mode 100644 tests/virtypedparamtest.c
>
I have it squashed into the corresponding commits. So with this -
you
have my ACK, although it feels a bit weird to ACK my own patches.
Therefore, I'm giving others some time before merging this to express
their feelings.
This is now pushed. Let me congratulate Pavel on his first libvirt
contribution. And what a contribution it was!
Michal