summary refs log tree commit diff stats
path: root/qemu-ga.c
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2012-08-01 16:30:13 -0300
committerLuiz Capitulino <lcapitulino@redhat.com>2012-08-13 14:17:53 -0300
commit93b91c59dbccde6e4d25661150c1529bd5ee4a06 (patch)
treeb688b9198c5b0da4bb0f5652011f9fce5f84af7e /qemu-ga.c
parentde253f14912e88f45dbe66984440d27221a75a60 (diff)
downloadfocaccia-qemu-93b91c59dbccde6e4d25661150c1529bd5ee4a06.tar.gz
focaccia-qemu-93b91c59dbccde6e4d25661150c1529bd5ee4a06.zip
qemu-ga: switch to the new error format on the wire
IMPORTANT: this BREAKS qemu-ga compatibility for the error response.

Instead of returning something like:

{ "error": { "class": "InvalidParameterValue",
             "data": {"name": "mode", "expected": "halt|powerdown|reboot" } } }

qemu-ga now returns:

 { "error": { "class": "GenericError",
              "desc": "Parameter 'mode' expects halt|powerdown|reboot" } }

Notice that this is also a bug fix, as qemu-ga wasn't returning the
human message.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'qemu-ga.c')
-rw-r--r--qemu-ga.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/qemu-ga.c b/qemu-ga.c
index f1a39ec3a6..39abc50e89 100644
--- a/qemu-ga.c
+++ b/qemu-ga.c
@@ -515,7 +515,7 @@ static void process_event(JSONMessageParser *parser, QList *tokens)
         } else {
             g_warning("failed to parse event: %s", error_get_pretty(err));
         }
-        qdict_put_obj(qdict, "error", error_get_qobject(err));
+        qdict_put_obj(qdict, "error", qmp_build_error_object(err));
         error_free(err);
     } else {
         qdict = qobject_to_qdict(obj);
@@ -532,7 +532,7 @@ static void process_event(JSONMessageParser *parser, QList *tokens)
             qdict = qdict_new();
             g_warning("unrecognized payload format");
             error_set(&err, QERR_UNSUPPORTED);
-            qdict_put_obj(qdict, "error", error_get_qobject(err));
+            qdict_put_obj(qdict, "error", qmp_build_error_object(err));
             error_free(err);
         }
         ret = send_response(s, QOBJECT(qdict));