mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
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 <mprivozn@redhat.com>
This commit is contained in:
parent
d70cc1fa72
commit
b7fe5a6555
@ -1009,14 +1009,12 @@ static const char *
|
|||||||
qemuAgentStringifyError(virJSONValuePtr error)
|
qemuAgentStringifyError(virJSONValuePtr error)
|
||||||
{
|
{
|
||||||
const char *klass = virJSONValueObjectGetString(error, "class");
|
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
|
/* 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)
|
if (!detail)
|
||||||
detail = qemuAgentStringifyErrorClass(klass);
|
detail = qemuAgentStringifyErrorClass(klass);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user