[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] migration regression in xen-4.11 and qemu-2.11 and qcow2
Am Thu, 17 May 2018 08:30:58 +0200 schrieb Olaf Hering <olaf@xxxxxxxxx>: > I think the issue fixed by 5d6c599fe1d69a1bf8c5c4d3c58be2b31cd625ad is not > specific to HVM. It seems domain_suspend_common_guest_suspended would call > that changed function only for HVM. It seems the logic is wrong. It is not > about the device model, but about that fact that 'disk==qcow2' requires > qemu-upstream. This fixes it for me. Now the question is how to do that properly for all sorts of diskimage types. Olaf --- a/tools/libxl/libxl_dom_suspend.c +++ b/tools/libxl/libxl_dom_suspend.c @@ -385,6 +385,21 @@ static void domain_suspend_common_guest_ domain_suspend_common_done(egc, dsps, rc); return; } + } else if (dsps->type == LIBXL_DOMAIN_TYPE_PV) { + uint32_t const domid = dsps->domid; + const char *const filename = dsps->dm_savefile; + rc = libxl__qmp_stop(gc, domid); + if (rc) { + LOGD(ERROR, domid, "failure from libxl__qmp_stop domid:%d", rc); + return; + } + /* Save DM state into filename */ + rc = libxl__qmp_save(gc, domid, filename, dsps->live); + if (rc) { + unlink(filename); + LOGD(ERROR, domid, "failure from libxl__qmp_save domid:%d", rc); + return; + } } domain_suspend_common_done(egc, dsps, 0); } @@ -466,6 +481,12 @@ int libxl__domain_resume(libxl__gc *gc, LOGD(ERROR, domid, "failed to resume device model:%d", rc); goto out; } + } else if (type == LIBXL_DOMAIN_TYPE_PV) { + if (libxl__qmp_resume(gc, domid)) { + rc = ERROR_FAIL; + LOGD(ERROR, domid, "failed to resume device model:%d", rc); + goto out; + } } if (xc_domain_resume(CTX->xch, domid, suspend_cancel)) { Attachment:
pgpMMtZbtUdKh.pgp _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |