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

Pavel Boldin pboldin at mirantis.com
Mon Jun 15 22:42:02 UTC 2015


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

-- 
1.9.1




More information about the libvir-list mailing list