[Top][All Lists]
[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);
- [Qemu-devel] [PATCH v1 0/4]: QMP capability negotiation support, Luiz Capitulino, 2010/02/04
- [Qemu-devel] [PATCH 1/4] QMP: Add QEMU's version to the greeting message, Luiz Capitulino, 2010/02/04
- Re: [Qemu-devel] [PATCH 1/4] QMP: Add QEMU's version to the greeting message,
Markus Armbruster <=
- [Qemu-devel] [PATCH 2/4] QMP: Introduce the qmp_capabilities command, Luiz Capitulino, 2010/02/04
- [Qemu-devel] [PATCH 3/4] QMP: Enforce capability negotiation rules, Luiz Capitulino, 2010/02/04
- [Qemu-devel] [PATCH 4/4] QMP: spec: Capability negotiation updates, Luiz Capitulino, 2010/02/04
- Re: [Qemu-devel] [PATCH v1 0/4]: QMP capability negotiation support, Markus Armbruster, 2010/02/04