[libvirt] [PATCH v4 0/9] Selective block device migration implementation

Michal Privoznik mprivozn at redhat.com
Thu Jun 18 14:51:58 UTC 2015


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





More information about the libvir-list mailing list