[IA64] xc_domain_save: Do not poll-wait for guest to shutdown.
This patch is ia64 counter part of 18452:59904b180078.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
diff -r b480c0d22b4e tools/libxc/ia64/xc_ia64_linux_save.c
--- a/tools/libxc/ia64/xc_ia64_linux_save.c Thu Sep 18 19:49:38 2008 +0900
+++ b/tools/libxc/ia64/xc_ia64_linux_save.c Fri Sep 19 11:47:25 2008 +0900
@@ -56,43 +56,18 @@
suspend_and_state(int (*suspend)(void), int xc_handle, int io_fd,
int dom, xc_dominfo_t *info)
{
- int i = 0;
-
if (!(*suspend)()) {
ERROR("Suspend request failed");
return -1;
}
-retry:
-
- if (xc_domain_getinfo(xc_handle, dom, 1, info) != 1) {
+ if ( (xc_domain_getinfo(xc_handle, dom, 1, info) != 1) ||
+ !info->shutdown || (info->shutdown_reason != SHUTDOWN_suspend) ) {
ERROR("Could not get domain info");
return -1;
}
- if (info->shutdown && info->shutdown_reason == SHUTDOWN_suspend)
- return 0; // success
-
- if (info->paused) {
- // try unpausing domain, wait, and retest
- xc_domain_unpause(xc_handle, dom);
-
- ERROR("Domain was paused. Wait and re-test.");
- usleep(10000); // 10ms
-
- goto retry;
- }
-
-
- if(++i < 100) {
- ERROR("Retry suspend domain.");
- usleep(10000); // 10ms
- goto retry;
- }
-
- ERROR("Unable to suspend domain.");
-
- return -1;
+ return 0;
}
static inline int
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|