mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
libxl: invert xc and domain model resume calls in xc_domain_resume()
Resume is sometimes silently failing for HVM guests. Getting the xc_domain_resume() and libxl__domain_resume_device_model() in the reverse order than what is in the suspend code fixes the problem. Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> Acked-by: Wei Liu <wei.liu2@citrix.com> [ wei: rebase it on top of staging ] Signed-off-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
1 parent
ea33d31b0c
commit
f33b4fc4ef
1 file changed
+6
-6
@@ -456,12 +456,6 @@ int libxl__domain_resume(libxl__gc *gc, uint32_t domid, int suspend_cancel)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (xc_domain_resume(CTX->xch, domid, suspend_cancel)) {
|
||||
LOGED(ERROR, domid, "xc_domain_resume failed");
|
||||
rc = ERROR_FAIL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
libxl_domain_type type = libxl__domain_type(gc, domid);
|
||||
if (type == LIBXL_DOMAIN_TYPE_INVALID) {
|
||||
rc = ERROR_FAIL;
|
||||
@@ -476,6 +470,12 @@ int libxl__domain_resume(libxl__gc *gc, uint32_t domid, int suspend_cancel)
|
||||
}
|
||||
}
|
||||
|
||||
if (xc_domain_resume(CTX->xch, domid, suspend_cancel)) {
|
||||
LOGED(ERROR, domid, "xc_domain_resume failed");
|
||||
rc = ERROR_FAIL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!xs_resume_domain(CTX->xsh, domid)) {
|
||||
LOGED(ERROR, domid, "xs_resume_domain failed");
|
||||
rc = ERROR_FAIL;
|
||||
|
||||