From b9b9c8b0206b27c2f3750598e395646caad6f305 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 4 Dec 2008 14:47:12 +0000 Subject: [PATCH] Increase timeout for initial monitor poll, to prevent a guest from failing to start if it has to wait for a physical cdrom to spin up. --- ChangeLog | 4 ++++ src/qemu_driver.c | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 338ad8975b..7818483058 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Dec 4 09:42:00 EST 2008 Cole Robinson + + * src/qemu_driver.c: Increase timeout for initial monitor poll + Thu Dec 4 15:36:42 CET 2008 Daniel Veillard * src/bridge.c: patch setting MTU on tap interface to be the same diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 9aaadf2fb1..e666efc379 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -360,9 +360,9 @@ qemudReadMonitorOutput(virConnectPtr conn, char *buf, int buflen, qemudHandlerMonitorOutput func, - const char *what) + const char *what, + int timeout) { -#define MONITOR_TIMEOUT 3000 int got = 0; buf[0] = '\0'; @@ -388,7 +388,7 @@ qemudReadMonitorOutput(virConnectPtr conn, return -1; } - ret = poll(&pfd, 1, MONITOR_TIMEOUT); + ret = poll(&pfd, 1, timeout); if (ret == 0) { qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("Timed out while reading %s startup output"), what); @@ -422,7 +422,6 @@ qemudReadMonitorOutput(virConnectPtr conn, _("Out of space while reading %s startup output"), what); return -1; -#undef MONITOR_TIMEOUT } static int @@ -468,7 +467,7 @@ static int qemudOpenMonitor(virConnectPtr conn, driver, vm, monfd, buf, sizeof(buf), qemudCheckMonitorPrompt, - "monitor"); + "monitor", 10000); /* Keep monitor open upon success */ if (ret == 0) @@ -579,7 +578,7 @@ static int qemudWaitForMonitor(virConnectPtr conn, driver, vm, vm->stderr_fd, buf, sizeof(buf), qemudFindCharDevicePTYs, - "console"); + "console", 3000); buf[sizeof(buf)-1] = '\0';