aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/libxl/libxl.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7e8bf45cf5..7b99165948 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -765,6 +765,23 @@ int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
goto out_err;
}
+ if (type == LIBXL_DOMAIN_TYPE_HVM && flags & LIBXL_SUSPEND_LIVE) {
+ switch (libxl__device_model_version_running(gc, domid)) {
+ case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
+ LOG(ERROR,
+ "cannot live migrate HVM domains with qemu-xen device-model");
+ rc = ERROR_FAIL;
+ goto out_err;
+ case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
+ /* No problem */
+ break;
+ case -1:
+ rc = ERROR_FAIL;
+ goto out_err;
+ default: abort();
+ }
+ }
+
libxl__domain_suspend_state *dss;
GCNEW(dss);