]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
libxl: Use cooperative resume for migration
authorJason Andryuk <andryuk@aero.org>
Fri, 20 Jun 2014 13:10:03 +0000 (09:10 -0400)
committerJim Fehlig <jfehlig@suse.com>
Fri, 20 Jun 2014 17:34:26 +0000 (11:34 -0600)
Migration code specifies the problematic non-cooperative resume mode
which is a known issue with Xen's libxl [1].  Instead, use the better
supported cooperative mode.

Without this, guests BUG() in xen_irq_resume after failing to bind
still-bound event channels.

[1] http://bugs.xenproject.org/xen/bug/30

src/libxl/libxl_migration.c

index a25edf0baabf0747ebc2a739f7214b9405bc4897..53d961c1e5a0a68cb02a9d9dad34482226915c30 100644 (file)
@@ -147,7 +147,7 @@ libxlDoMigrateSend(libxlDriverPrivatePtr driver,
                                xl_flags, NULL);
     if (ret != 0) {
         /* attempt to resume the domain on failure */
-        if (libxl_domain_resume(priv->ctx, vm->def->id, 0, 0) != 0) {
+        if (libxl_domain_resume(priv->ctx, vm->def->id, 1, 0) != 0) {
             VIR_DEBUG("Failed to resume domain following failed migration");
             virDomainObjSetState(vm, VIR_DOMAIN_PAUSED,
                                  VIR_DOMAIN_PAUSED_MIGRATION);