qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/4] QMP: Add QEMU's version to the greeting mes


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH 1/4] QMP: Add QEMU's version to the greeting message
Date: Thu, 04 Feb 2010 17:32:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Luiz Capitulino <address@hidden> writes:

> With capability negotiation support clients will only have a chance
> to check QEMU's version (ie. issue 'query-version') after the
> negotiation procedure is done.
>
> It might be useful to clients to check QEMU's version before
> negotiating features, though.
>
> To allow that, this commit adds the QEMU's version object to the
> greeting message.
>
> Not really sure this is needed, but doesn't hurt anyway.
>
> Signed-off-by: Luiz Capitulino <address@hidden>
> ---
>  QMP/README       |    6 ++++--
>  QMP/qmp-spec.txt |    6 ++++--
>  monitor.c        |   10 +++++++++-
>  3 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/QMP/README b/QMP/README
> index 09e7053..9334c25 100644
> --- a/QMP/README
> +++ b/QMP/README
> @@ -52,9 +52,11 @@ $ telnet localhost 4444
>  Trying 127.0.0.1...
>  Connected to localhost.
>  Escape character is '^]'.
> -{"QMP": {"capabilities": []}}
> +{"QMP": {"version": {"qemu": "0.12.50", "package": ""}, "capabilities": []}}
> +{ "execute": "qmp_capabilities" }
> +{"return": {}}
>  { "execute": "query-version" }
> -{"return": {"qemu": "0.11.50", "package": ""}}
> +{"return": {"qemu": "0.12.50", "package": ""}}
>  
>  Contact
>  -------
> diff --git a/QMP/qmp-spec.txt b/QMP/qmp-spec.txt
> index 56f388c..b2617bb 100644
> --- a/QMP/qmp-spec.txt
> +++ b/QMP/qmp-spec.txt
> @@ -48,10 +48,12 @@ waiting for commands.
>  
>  The format is:
>  
> -{ "QMP": { "capabilities": json-array } }
> +{ "QMP": { "version": json-object, "capabilities": json-array } }
>  
>   Where,
>  
> +- The "version" member contains the Server's version information (the format
> +  is the same of the 'query-version' command)
>  - The "capabilities" member specify the availability of features beyond the
>    baseline specification
>  
> @@ -152,7 +154,7 @@ This section provides some examples of real QMP usage, in 
> all of them
>  3.1 Server greeting
>  -------------------
>  
> -S: {"QMP": {"capabilities": []}}
> +S: {"QMP": {"version": {"qemu": "0.12.50", "package": ""}, "capabilities": 
> []}}
>  
>  3.2 Simple 'stop' execution
>  ---------------------------
> diff --git a/monitor.c b/monitor.c
> index ff22123..47b0050 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -4365,6 +4365,14 @@ void monitor_resume(Monitor *mon)
>          readline_show_prompt(mon->rs);
>  }
>  
> +static QObject *get_qmp_gretting(void)

s/gretting/greeting/

> +{
> +    QObject *ver;
> +
> +    do_info_version(NULL, &ver);
> +    return qobject_from_jsonf("{'QMP':{'version': %p,'capabilities': 
> []}}",ver);
> +}
> +
>  /**
>   * monitor_control_event(): Print QMP gretting
>   */
> @@ -4376,7 +4384,7 @@ static void monitor_control_event(void *opaque, int 
> event)
>  
>          json_message_parser_init(&mon->mc->parser, handle_qmp_command);
>  
> -        data = qobject_from_jsonf("{ 'QMP': { 'capabilities': [] } }");
> +        data = get_qmp_gretting();
>          assert(data != NULL);
>  
>          monitor_json_emitter(mon, data);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]