[libvirt] [PATCH 0/3] libxl: support Xen migration stream V2

Jim Fehlig jfehlig at suse.com
Tue May 3 01:01:16 UTC 2016

Hi all,

This patch adds support for Xen migration stream V2 to the libvirt
libxl driver. In the process it fixes save/restore and migration
tests in OSSTest, which have been failing since libvirt commit

Patch1 changes the libxl API requirement from version 4.2 to 4.4,
enabling use of an extended libxl_domain_create_restore() function
that allows passing restore parameters such as stream version.

Patch2 adds support for migration stream V2 in the basic save/restore
logic, taking advantage of a save image header that includes a version
field. The version is set to '2' if the host produces a V2 migration
stream. This patch fixes the failing save/restore tests in OSSTest.

Patch3 adds support for migration stream V2 in the migration logic.
The migration code does not use the save image header and instead
uses libvirt's migration protocol to transfer domain configuration
and other such goodies from source to destination. The patch
enables sending version information in the Begin and Prepare
migration phases so the correct stream version information can be
passed to libxl_domain_create_restore(). An upshot of this approach
is safely detecting and aborting a migration from a V2 host to a
V1-only host. This patch fixes the failing migration tests in

Jim Fehlig (3):
  libxl: switch to using libxl_domain_create_restore from v4.4 API
  libxl: support Xen migration stream V2 in save/restore
  libxl: support migration stream V2 in migration

 configure.ac                |   9 +-
 src/libxl/libxl_conf.h      |   6 +-
 src/libxl/libxl_domain.c    |  46 ++++++++--
 src/libxl/libxl_domain.h    |  14 ++-
 src/libxl/libxl_driver.c    |  27 +++---
 src/libxl/libxl_migration.c | 204 +++++++++++++++++++++++++++++++++++++++++++-
 src/libxl/libxl_migration.h |   6 +-
 7 files changed, 282 insertions(+), 30 deletions(-)


More information about the libvir-list mailing list