File c1bc06e2-libxl-mig-resume-fix.patch of Package libvirt.239
commit c1bc06e2d73882f4c8abfef67628211e8f878bc3
Author: Jason Andryuk <andryuk@aero.org>
Date: Fri Jun 20 09:10:03 2014 -0400
libxl: Use cooperative resume for migration
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
Index: libvirt-1.2.5/src/libxl/libxl_migration.c
===================================================================
--- libvirt-1.2.5.orig/src/libxl/libxl_migration.c
+++ libvirt-1.2.5/src/libxl/libxl_migration.c
@@ -148,7 +148,7 @@ libxlDoMigrateSend(libxlDriverPrivatePtr
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);