Jason Andryuk wrote:
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
Thanks for the bug link. Of particular interest is Ian Campbell's
comment on 8 Jan 2014 13:02:24, which confirms we should be calling
libxl_domain_resume with suspend_cancel=1.
---
src/libxl/libxl_migration.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index a25edf0..53d961c 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -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) {
Also verified xl does this. ACK and will push shortly. Thanks!
Regards,
Jim