From b7fe5a6555a3c23205794b59a6736c6eb7c9464b Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 28 Oct 2014 03:41:27 +0100 Subject: [PATCH] qemu_agent: Produce more readable error messages Not every error message from qemu-ga has to have the 'class' field filled out. For instance, I've seen this error message lately: qemuAgentCheckError:1047 : unable to execute QEMU agent command \ {"execute":"guest-set-time"}: \ {"error":{"desc":"Invalid parameter type, expected: integer"}} However, this got translated into rather generic error message: internal error: unable to execute QEMU agent command 'guest-set-time': unknown QEMU command error So we've dropped better error message in favor of a generic one. This is due to our code which expects 'class' which is not present here. Signed-off-by: Michal Privoznik --- src/qemu/qemu_agent.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index fe38f6df95..9f673bf2c8 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1009,14 +1009,12 @@ static const char * qemuAgentStringifyError(virJSONValuePtr error) { const char *klass = virJSONValueObjectGetString(error, "class"); - const char *detail = NULL; + const char *detail = virJSONValueObjectGetString(error, "desc"); /* The QMP 'desc' field is usually sufficient for our generic - * error reporting needs. + * error reporting needs. However, if not present, translate + * the class into something readable. */ - if (klass) - detail = virJSONValueObjectGetString(error, "desc"); - if (!detail) detail = qemuAgentStringifyErrorClass(klass); -- 2.39.5