From: Ian Campbell Date: Wed, 25 Jul 2012 16:39:14 +0000 (+0100) Subject: libxl: refuse to try and migrate an HVM guest using qemu-xen X-Git-Tag: 4.2.0-rc1~45 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ce69d835796fec395c328081d0c9e017ee6e52f2;p=xen.git libxl: refuse to try and migrate an HVM guest using qemu-xen libxl/qemu-upstream currently do not collude together to enable log-dirty mode and therefore migrations are unsafe. Refuse to even try for now. Signed-off-by: Ian Campbell Acked-by: Ian Jackson Committed-by: Ian Campbell --- 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);