All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] QMP: update 'query-version'
@ 2010-08-09 17:00 Miguel Di Ciurcio Filho
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 1/2] QMP: update 'query-version' documentation Miguel Di Ciurcio Filho
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Miguel Di Ciurcio Filho @ 2010-08-09 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Miguel Di Ciurcio Filho, armbru, lcapitulino

This series changes how QMP exports the version of QEMU to clients.

Current behavior:
{"QMP": {"version": {"qemu": "0.13.50", "package": ""}, "capabilities": []}}

New behavior:
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 13, "major": 0}, "package":
""}, "capabilities": []}}

Clients will no longer need to parse the entire string.

Regards,

Miguel

---

Miguel Di Ciurcio Filho (2):
  QMP: update 'query-version' documentation
  QMP/monitor: update do_info_version() to output broken down version
    string

 monitor.c       |   23 +++++++++++++++++++----
 qemu-monitor.hx |   16 ++++++++++++++--
 2 files changed, 33 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 1/2] QMP: update 'query-version' documentation
  2010-08-09 17:00 [Qemu-devel] [PATCH 0/2] QMP: update 'query-version' Miguel Di Ciurcio Filho
@ 2010-08-09 17:00 ` Miguel Di Ciurcio Filho
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string Miguel Di Ciurcio Filho
  2010-08-26 13:07 ` [Qemu-devel] Re: [PATCH 0/2] QMP: update 'query-version' Luiz Capitulino
  2 siblings, 0 replies; 5+ messages in thread
From: Miguel Di Ciurcio Filho @ 2010-08-09 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Miguel Di Ciurcio Filho, armbru, lcapitulino

Update the documentation of 'query-version' to output the string version broken
down.

Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
---
 qemu-monitor.hx |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 2af3de6..9c27b31 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -1623,13 +1623,25 @@ Show QEMU version.
 
 Return a json-object with the following information:
 
-- "qemu": QEMU's version (json-string)
+- "qemu": A json-object containing three integer values:
+    - "major": QEMU's major version (json-int)
+    - "minor": QEMU's minor version (json-int)
+    - "micro": QEMU's micro version (json-int)
 - "package": package's version (json-string)
 
 Example:
 
 -> { "execute": "query-version" }
-<- { "return": { "qemu": "0.11.50", "package": "" } }
+<- {
+      "return":{
+         "qemu":{
+            "major":0,
+            "minor":11,
+            "micro":5
+         },
+         "package":""
+      }
+   }
 
 EQMP
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string
  2010-08-09 17:00 [Qemu-devel] [PATCH 0/2] QMP: update 'query-version' Miguel Di Ciurcio Filho
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 1/2] QMP: update 'query-version' documentation Miguel Di Ciurcio Filho
@ 2010-08-09 17:00 ` Miguel Di Ciurcio Filho
  2010-08-09 18:09   ` malc
  2010-08-26 13:07 ` [Qemu-devel] Re: [PATCH 0/2] QMP: update 'query-version' Luiz Capitulino
  2 siblings, 1 reply; 5+ messages in thread
From: Miguel Di Ciurcio Filho @ 2010-08-09 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Miguel Di Ciurcio Filho, armbru, lcapitulino

This code was originally developed by Daniel P. Berrange <berrange@redhat.com>

Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
---
 monitor.c |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/monitor.c b/monitor.c
index c313d5a..e82c48f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -669,17 +669,32 @@ help:
 static void do_info_version_print(Monitor *mon, const QObject *data)
 {
     QDict *qdict;
+    QDict *qemu;
 
     qdict = qobject_to_qdict(data);
+    qemu = qdict_get_qdict(qdict, "qemu");
 
-    monitor_printf(mon, "%s%s\n", qdict_get_str(qdict, "qemu"),
-                                  qdict_get_str(qdict, "package"));
+    monitor_printf(mon, "%" PRId64 ".%" PRId64 ".%" PRId64 "%s\n",
+		   qdict_get_int(qemu, "major"),
+		   qdict_get_int(qemu, "minor"),
+		   qdict_get_int(qemu, "micro"),
+		   qdict_get_str(qdict, "package"));
 }
 
 static void do_info_version(Monitor *mon, QObject **ret_data)
 {
-    *ret_data = qobject_from_jsonf("{ 'qemu': %s, 'package': %s }",
-                                   QEMU_VERSION, QEMU_PKGVERSION);
+    const char *version = QEMU_VERSION;
+    int major = 0, minor = 0, micro = 0;
+    char *tmp;
+
+    major = strtol(version, &tmp, 10);
+    tmp++;
+    minor = strtol(tmp, &tmp, 10);
+    tmp++;
+    micro = strtol(tmp, &tmp, 10);
+
+    *ret_data = qobject_from_jsonf("{ 'qemu': { 'major': %d, 'minor': %d, \
+        'micro': %d }, 'package': %s }", major, minor, micro, QEMU_PKGVERSION);
 }
 
 static void do_info_name_print(Monitor *mon, const QObject *data)
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string Miguel Di Ciurcio Filho
@ 2010-08-09 18:09   ` malc
  0 siblings, 0 replies; 5+ messages in thread
From: malc @ 2010-08-09 18:09 UTC (permalink / raw)
  To: Miguel Di Ciurcio Filho; +Cc: lcapitulino, qemu-devel, armbru

On Mon, 9 Aug 2010, Miguel Di Ciurcio Filho wrote:

> This code was originally developed by Daniel P. Berrange <berrange@redhat.com>
> 
> Signed-off-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>
> ---
>  monitor.c |   23 +++++++++++++++++++----
>  1 files changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/monitor.c b/monitor.c
> index c313d5a..e82c48f 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -669,17 +669,32 @@ help:
>  static void do_info_version_print(Monitor *mon, const QObject *data)
>  {
>      QDict *qdict;
> +    QDict *qemu;
>  
>      qdict = qobject_to_qdict(data);
> +    qemu = qdict_get_qdict(qdict, "qemu");
>  
> -    monitor_printf(mon, "%s%s\n", qdict_get_str(qdict, "qemu"),
> -                                  qdict_get_str(qdict, "package"));
> +    monitor_printf(mon, "%" PRId64 ".%" PRId64 ".%" PRId64 "%s\n",
> +		   qdict_get_int(qemu, "major"),
> +		   qdict_get_int(qemu, "minor"),
> +		   qdict_get_int(qemu, "micro"),
> +		   qdict_get_str(qdict, "package"));
>  }

Above snippet uses tab(s).

>  static void do_info_version(Monitor *mon, QObject **ret_data)
>  {
> -    *ret_data = qobject_from_jsonf("{ 'qemu': %s, 'package': %s }",
> -                                   QEMU_VERSION, QEMU_PKGVERSION);
> +    const char *version = QEMU_VERSION;
> +    int major = 0, minor = 0, micro = 0;
> +    char *tmp;
> +
> +    major = strtol(version, &tmp, 10);
> +    tmp++;
> +    minor = strtol(tmp, &tmp, 10);
> +    tmp++;
> +    micro = strtol(tmp, &tmp, 10);
> +
> +    *ret_data = qobject_from_jsonf("{ 'qemu': { 'major': %d, 'minor': %d, \
> +        'micro': %d }, 'package': %s }", major, minor, micro, QEMU_PKGVERSION);
>  }
>  
>  static void do_info_name_print(Monitor *mon, const QObject *data)
> 

-- 
mailto:av1474@comtv.ru

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] Re: [PATCH 0/2] QMP: update 'query-version'
  2010-08-09 17:00 [Qemu-devel] [PATCH 0/2] QMP: update 'query-version' Miguel Di Ciurcio Filho
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 1/2] QMP: update 'query-version' documentation Miguel Di Ciurcio Filho
  2010-08-09 17:00 ` [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string Miguel Di Ciurcio Filho
@ 2010-08-26 13:07 ` Luiz Capitulino
  2 siblings, 0 replies; 5+ messages in thread
From: Luiz Capitulino @ 2010-08-26 13:07 UTC (permalink / raw)
  To: Miguel Di Ciurcio Filho; +Cc: qemu-devel, armbru

On Mon,  9 Aug 2010 14:00:54 -0300
Miguel Di Ciurcio Filho <miguel.filho@gmail.com> wrote:

> This series changes how QMP exports the version of QEMU to clients.
> 
> Current behavior:
> {"QMP": {"version": {"qemu": "0.13.50", "package": ""}, "capabilities": []}}
> 
> New behavior:
> {"QMP": {"version": {"qemu": {"micro": 50, "minor": 13, "major": 0}, "package":
> ""}, "capabilities": []}}
> 
> Clients will no longer need to parse the entire string.

Forgot to reply this one: it looks good to me and has already
been merged on master.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-08-26 13:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-09 17:00 [Qemu-devel] [PATCH 0/2] QMP: update 'query-version' Miguel Di Ciurcio Filho
2010-08-09 17:00 ` [Qemu-devel] [PATCH 1/2] QMP: update 'query-version' documentation Miguel Di Ciurcio Filho
2010-08-09 17:00 ` [Qemu-devel] [PATCH 2/2] QMP/monitor: update do_info_version() to output broken down version string Miguel Di Ciurcio Filho
2010-08-09 18:09   ` malc
2010-08-26 13:07 ` [Qemu-devel] Re: [PATCH 0/2] QMP: update 'query-version' Luiz Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.