[libvirt] [PATCH] qemu: Properly report a startup timeout error

Cole Robinson crobinso at redhat.com
Tue Feb 9 20:31:41 UTC 2010


The timeout errors were unconditionally being overwritten by the less
helpful 'unable to start guest' error.

Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 src/qemu/qemu_driver.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 4374291..2172c99 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1358,15 +1358,15 @@ qemudReadLogOutput(virConnectPtr conn,
         buf[got] = '\0';
         if (got == buflen-1) {
             qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             _("Out of space while reading %s log output"),
-                             what);
+                             _("Out of space while reading %s log output: %s"),
+                             what, buf);
             return -1;
         }
 
         if (isdead) {
             qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             _("Process exited while reading %s log output"),
-                             what);
+                             _("Process exited while reading %s log output: %s"),
+                             what, buf);
             return -1;
         }
 
@@ -1378,7 +1378,8 @@ qemudReadLogOutput(virConnectPtr conn,
     }
 
     qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                     _("Timed out while reading %s log output"), what);
+                     _("Timed out while reading %s log output: %s"),
+                     what, buf);
     return -1;
 }
 
@@ -1557,12 +1558,8 @@ qemudWaitForMonitor(virConnectPtr conn,
                  virStrerror(errno, ebuf, sizeof ebuf));
     }
 
-    if (ret < 0) {
-        /* Unexpected end of file - inform user of QEMU log data */
-        qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                         _("unable to start guest: %s"), buf);
+    if (ret < 0)
         return -1;
-    }
 
     VIR_DEBUG("Connect monitor to %p '%s'", vm, vm->def->name);
     if (qemuConnectMonitor(vm) < 0)
-- 
1.6.5.2




More information about the libvir-list mailing list