[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: do slow resume after failed migration attempt
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1297971617 0 # Node ID 946962830c450eb471db342ead2ca55eee4084db # Parent 2afa06e1f103f14da7118bd27db8e69f228a05fe libxl: do slow resume after failed migration attempt both of the current callers for libxl_domain_resume are calling after a migration has failed, one is failure to suspend on the sender and the other is failure to start on the destination, both leading to a resume attempt on the sender. However in the first case, failure to suspend, there is no guarantee that the guest has made it as far as the suspend hypercall and therefore the fast resume method, which frobs the hypercall return to indicate a cancelled suspend, cannot safely be used since it will corrupt %eax/%rax. For the second case, failure to start on destination, I don't think it really matters if the resume is fast or slow. Therefore always use the slow/uncooperative version of xc_domain_resume from libxl_domain_resume. This makes a PV domain which failed to suspend (e.g. because the core Linux PM infrastructure within the guest didn't allow it) recover gracefully. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -r 2afa06e1f103 -r 946962830c45 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Thu Feb 17 19:39:13 2011 +0000 +++ b/tools/libxl/libxl.c Thu Feb 17 19:40:17 2011 +0000 @@ -226,7 +226,7 @@ int libxl_domain_resume(libxl_ctx *ctx, rc = ERROR_NI; goto out; } - if (xc_domain_resume(ctx->xch, domid, 1)) { + if (xc_domain_resume(ctx->xch, domid, 0)) { LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_domain_resume failed for domain %u", domid); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |