render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
fbe740
From a3bea49c6960a468ee28b6d8dd0664c1ebcbcd02 Mon Sep 17 00:00:00 2001
fbe740
Message-Id: <a3bea49c6960a468ee28b6d8dd0664c1ebcbcd02@dist-git>
fbe740
From: Peter Krempa <pkrempa@redhat.com>
fbe740
Date: Tue, 4 Feb 2020 15:07:46 +0100
fbe740
Subject: [PATCH] qemu: monitor: Improve error message when QEMU reply is too
fbe740
 large
fbe740
MIME-Version: 1.0
fbe740
Content-Type: text/plain; charset=UTF-8
fbe740
Content-Transfer-Encoding: 8bit
fbe740
fbe740
Don't use ERANGE as it doesn't make much sense in the error message.
fbe740
Also point out that the reply from qemu was too large which is not
fbe740
obvious from the original error:
fbe740
fbe740
 error: No complete monitor response found in 10485760 bytes: Numerical result out of range
fbe740
fbe740
The new message will read:
fbe740
fbe740
 error: internal error: QEMU monitor reply exceeds buffer size (10485760 bytes)
fbe740
fbe740
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
fbe740
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
fbe740
(cherry picked from commit 29d43bf96a3e5886f1b32c78bbb16d1507bd0d9e)
fbe740
fbe740
https://bugzilla.redhat.com/show_bug.cgi?id=1524278
fbe740
Message-Id: <0e03a38f096e556cb82eecdb72e7dd5f86eec752.1580824112.git.pkrempa@redhat.com>
fbe740
Reviewed-by: Ján Tomko <jtomko@redhat.com>
fbe740
---
fbe740
 src/qemu/qemu_monitor.c | 6 +++---
fbe740
 1 file changed, 3 insertions(+), 3 deletions(-)
fbe740
fbe740
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
fbe740
index 4f547bf5ec..0e67851690 100644
fbe740
--- a/src/qemu/qemu_monitor.c
fbe740
+++ b/src/qemu/qemu_monitor.c
fbe740
@@ -485,9 +485,9 @@ qemuMonitorIORead(qemuMonitorPtr mon)
fbe740
 
fbe740
     if (avail < 1024) {
fbe740
         if (mon->bufferLength >= QEMU_MONITOR_MAX_RESPONSE) {
fbe740
-            virReportSystemError(ERANGE,
fbe740
-                                 _("No complete monitor response found in %d bytes"),
fbe740
-                                 QEMU_MONITOR_MAX_RESPONSE);
fbe740
+            virReportError(VIR_ERR_INTERNAL_ERROR,
fbe740
+                           _("QEMU monitor reply exceeds buffer size (%d bytes)"),
fbe740
+                           QEMU_MONITOR_MAX_RESPONSE);
fbe740
             return -1;
fbe740
         }
fbe740
         if (VIR_REALLOC_N(mon->buffer,
fbe740
-- 
fbe740
2.25.0
fbe740