diff --git a/configure.ac b/configure.ac index d19c1a9866..3e0d7de63c 100644 --- a/configure.ac +++ b/configure.ac @@ -871,10 +871,11 @@ if test "$with_libxl" != "no" ; then fi fi -# Until there is a need to use enhancements of libxl APIs such as -# libxl_domain_create_restore and libxl_set_vcpuaffinity, stick with -# the APIs as defined in libxl API version 4.2.0. -LIBXL_CFLAGS="$LIBXL_CFLAGS -DLIBXL_API_VERSION=0x040200" +# LIBXL_API_VERSION 4.4.0 introduced a new parameter to +# libxl_domain_create_restore for specifying restore parameters. +# The libxl driver will make use of this new parameter for specifying +# the Xen migration stream version. +LIBXL_CFLAGS="$LIBXL_CFLAGS -DLIBXL_API_VERSION=0x040400" LIBS="$old_LIBS" CFLAGS="$old_CFLAGS" diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 14a900c9f9..32ad946d48 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -1028,6 +1028,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, libxlDriverConfigPtr cfg; virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; libxl_asyncprogress_how aop_console_how; + libxl_domain_restore_params params; libxl_domain_config_init(&d_config); @@ -1115,8 +1116,11 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, ret = libxl_domain_create_new(cfg->ctx, &d_config, &domid, NULL, &aop_console_how); } else { + libxl_domain_restore_params_init(¶ms); ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid, - restore_fd, NULL, &aop_console_how); + restore_fd, ¶ms, NULL, + &aop_console_how); + libxl_domain_restore_params_dispose(¶ms); } virObjectLock(vm);