From eb9b6532434690d3c62d0f5780f9ea2af2d6da59 Mon Sep 17 00:00:00 2001
From: Luiz Capitulino <lcapitulino@redhat.com>
Date: Fri, 23 Apr 2010 18:06:18 +0200
Subject: [PATCH] QEmu JSON drop timestamp from command object

It's not needed and is currently ignored, but this is a bug.

It will get fixed soon and QMP will return an error for keys
it doesn't know about, this will break libvirt.

* src/qemu/qemu_monitor_json.c: remove qemuMonitorJSONCommandAddTimestamp()
  and the place where it's invoked in qemuMonitorJSONMakeCommand()
---
 src/qemu/qemu_monitor_json.c | 34 ----------------------------------
 1 file changed, 34 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 96f246f5bb..7c8387d488 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -356,37 +356,6 @@ qemuMonitorJSONHasError(virJSONValuePtr reply,
     return STREQ(klass, thisklass);
 }
 
-static int
-qemuMonitorJSONCommandAddTimestamp(virJSONValuePtr obj)
-{
-    struct timeval tv;
-    virJSONValuePtr timestamp = NULL;
-
-    if (gettimeofday(&tv, NULL) < 0) {
-        virReportSystemError(errno, "%s",
-                             _("cannot query time of day"));
-        return -1;
-    }
-
-    if (!(timestamp = virJSONValueNewObject()))
-        goto no_memory;
-
-    if (virJSONValueObjectAppendNumberLong(timestamp, "seconds", tv.tv_sec) < 0)
-        goto no_memory;
-    if (virJSONValueObjectAppendNumberLong(timestamp, "microseconds", tv.tv_usec) < 0)
-        goto no_memory;
-
-    if (virJSONValueObjectAppend(obj, "timestamp", timestamp) < 0)
-        goto no_memory;
-
-    return 0;
-
-no_memory:
-    virReportOOMError();
-    virJSONValueFree(timestamp);
-    return -1;
-}
-
 static virJSONValuePtr ATTRIBUTE_SENTINEL
 qemuMonitorJSONMakeCommand(const char *cmdname,
                            ...)
@@ -404,9 +373,6 @@ qemuMonitorJSONMakeCommand(const char *cmdname,
     if (virJSONValueObjectAppendString(obj, "execute", cmdname) < 0)
         goto no_memory;
 
-    if (qemuMonitorJSONCommandAddTimestamp(obj) < 0)
-        goto error;
-
     while ((key = va_arg(args, char *)) != NULL) {
         int ret;
         char type;
-- 
GitLab