From: Anthony Liguori <aliguori@us.ibm.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: kwolf@redhat.com, armbru@redhat.com, qemu-devel@nongnu.org,
mdroth@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH 12/21] qapi: Convert query-version
Date: Thu, 29 Sep 2011 07:54:57 -0500 [thread overview]
Message-ID: <4E846AA1.2020000@us.ibm.com> (raw)
In-Reply-To: <1317221085-5825-13-git-send-email-lcapitulino@redhat.com>
On 09/28/2011 09:44 AM, Luiz Capitulino wrote:
> The original conversion was done by Anthony Liguori. This commit
> is just a rebase.
For all of the rest of the patches, you can add my Signed-off-by: before your
SoB. Then you don't need to have the disclaimer in the commit message.
Regards,
Anthony Liguori
>
> Signed-off-by: Luiz Capitulino<lcapitulino@redhat.com>
> ---
> hmp.c | 13 +++++++++++++
> hmp.h | 1 +
> monitor.c | 46 +++-------------------------------------------
> qapi-schema.json | 37 +++++++++++++++++++++++++++++++++++++
> qmp-commands.hx | 6 ++++++
> qmp.c | 16 ++++++++++++++++
> 6 files changed, 76 insertions(+), 43 deletions(-)
>
> diff --git a/hmp.c b/hmp.c
> index 47e1ff7..bb6c86f 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -24,3 +24,16 @@ void hmp_info_name(Monitor *mon)
> }
> qapi_free_NameInfo(info);
> }
> +
> +void hmp_info_version(Monitor *mon)
> +{
> + VersionInfo *info;
> +
> + info = qmp_query_version(NULL);
> +
> + monitor_printf(mon, "%" PRId64 ".%" PRId64 ".%" PRId64 "%s\n",
> + info->qemu.major, info->qemu.minor, info->qemu.micro,
> + info->package);
> +
> + qapi_free_VersionInfo(info);
> +}
> diff --git a/hmp.h b/hmp.h
> index 5fe73f1..2aa75a2 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -18,5 +18,6 @@
> #include "qapi-types.h"
>
> void hmp_info_name(Monitor *mon);
> +void hmp_info_version(Monitor *mon);
>
> #endif
> diff --git a/monitor.c b/monitor.c
> index 8af0e27..9edc38c 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -730,37 +730,6 @@ help:
> help_cmd(mon, "info");
> }
>
> -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, "%" 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)
> -{
> - 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 QObject *get_cmd_dict(const char *name)
> {
> const char *p;
> @@ -2866,8 +2835,7 @@ static const mon_cmd_t info_cmds[] = {
> .args_type = "",
> .params = "",
> .help = "show the version of QEMU",
> - .user_print = do_info_version_print,
> - .mhandler.info_new = do_info_version,
> + .mhandler.info = hmp_info_version,
> },
> {
> .name = "network",
> @@ -3159,14 +3127,6 @@ static const mon_cmd_t qmp_cmds[] = {
>
> static const mon_cmd_t qmp_query_cmds[] = {
> {
> - .name = "version",
> - .args_type = "",
> - .params = "",
> - .help = "show the version of QEMU",
> - .user_print = do_info_version_print,
> - .mhandler.info_new = do_info_version,
> - },
> - {
> .name = "commands",
> .args_type = "",
> .params = "",
> @@ -5172,9 +5132,9 @@ void monitor_resume(Monitor *mon)
>
> static QObject *get_qmp_greeting(void)
> {
> - QObject *ver;
> + QObject *ver = NULL;
>
> - do_info_version(NULL,&ver);
> + qmp_marshal_input_query_version(NULL, NULL,&ver);
> return qobject_from_jsonf("{'QMP':{'version': %p,'capabilities': []}}",ver);
> }
>
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 3585324..3c0ac4e 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -23,3 +23,40 @@
> # Since 0.14.0
> ##
> { 'command': 'query-name', 'returns': 'NameInfo' }
> +
> +##
> +# @VersionInfo:
> +#
> +# A description of QEMU's version.
> +#
> +# @qemu.major: The major version of QEMU
> +#
> +# @qemu.minor: The minor version of QEMU
> +#
> +# @qemu.micro: The micro version of QEMU. By current convention, a micro
> +# version of 50 signifies a development branch. A micro version
> +# greater than or equal to 90 signifies a release candidate for
> +# the next minor version. A micro version of less than 50
> +# signifies a stable release.
> +#
> +# @package: QEMU will always set this field to an empty string. Downstream
> +# versions of QEMU should set this to a non-empty string. The
> +# exact format depends on the downstream however it highly
> +# recommended that a unique name is used.
> +#
> +# Since: 0.14.0
> +##
> +{ 'type': 'VersionInfo',
> + 'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'},
> + 'package': 'str'} }
> +
> +##
> +# @query-version:
> +#
> +# Returns the current version of QEMU.
> +#
> +# Returns: A @VersionInfo object describing the current version of QEMU.
> +#
> +# Since: 0.14.0
> +##
> +{ 'command': 'query-version', 'returns': 'VersionInfo' }
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index 7b3839e..9f067ea 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -1053,6 +1053,12 @@ Example:
>
> EQMP
>
> + {
> + .name = "query-version",
> + .args_type = "",
> + .mhandler.cmd_new = qmp_marshal_input_query_version,
> + },
> +
> SQMP
> query-commands
> --------------
> diff --git a/qmp.c b/qmp.c
> index 8aa9c66..f978ea4 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -26,3 +26,19 @@ NameInfo *qmp_query_name(Error **errp)
>
> return info;
> }
> +
> +VersionInfo *qmp_query_version(Error **err)
> +{
> + VersionInfo *info = g_malloc0(sizeof(*info));
> + const char *version = QEMU_VERSION;
> + char *tmp;
> +
> + info->qemu.major = strtol(version,&tmp, 10);
> + tmp++;
> + info->qemu.minor = strtol(tmp,&tmp, 10);
> + tmp++;
> + info->qemu.micro = strtol(tmp,&tmp, 10);
> + info->package = g_strdup(QEMU_PKGVERSION);
> +
> + return info;
> +}
next prev parent reply other threads:[~2011-09-29 12:55 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-28 14:44 [Qemu-devel] [PATCH v1 00/21]: First round of QAPI conversions Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 01/21] error: let error_is_type take a NULL error Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 02/21] qerror: add qerror_report_err() Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 03/21] qapi: add code generation support for middle mode Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 04/21] qapi: use middle mode in QMP server Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 05/21] qapi: fixup command generation for functions that return list types Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 06/21] qapi: dealloc visitor, fix premature free and iteration logic Luiz Capitulino
2011-09-29 12:49 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 07/21] qapi: generate qapi_free_* functions for *List types Luiz Capitulino
2011-09-29 12:50 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 08/21] qapi: add test cases for generated free functions Luiz Capitulino
2011-09-29 12:51 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 09/21] qapi: dealloc visitor, support freeing of nested lists Luiz Capitulino
2011-09-29 12:51 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 10/21] qapi: modify visitor code generation for list iteration Luiz Capitulino
2011-09-29 12:53 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 11/21] qapi: convert query-name Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 12/21] qapi: Convert query-version Luiz Capitulino
2011-09-29 12:54 ` Anthony Liguori [this message]
2011-09-29 14:32 ` Luiz Capitulino
2011-09-29 14:42 ` Anthony Liguori
2011-09-28 14:44 ` [Qemu-devel] [PATCH 13/21] qapi: Convert query-kvm Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 14/21] qapi: Convert query-status Luiz Capitulino
2011-09-29 20:11 ` Michael Roth
2011-09-28 14:44 ` [Qemu-devel] [PATCH 15/21] qapi: Convert query-uuid Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 16/21] qapi: Convert query-chardev Luiz Capitulino
2011-09-29 19:17 ` Michael Roth
2011-09-28 14:44 ` [Qemu-devel] [PATCH 17/21] qapi: Convert query-commands Luiz Capitulino
2011-09-29 19:25 ` Michael Roth
2011-09-28 14:44 ` [Qemu-devel] [PATCH 18/21] qapi: Convert quit Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 19/21] qapi: Convert stop Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 20/21] qapi: Convert system_reset Luiz Capitulino
2011-09-28 14:44 ` [Qemu-devel] [PATCH 21/21] qapi: Convert system_powerdown Luiz Capitulino
2011-09-29 12:55 ` [Qemu-devel] [PATCH v1 00/21]: First round of QAPI conversions Anthony Liguori
2011-09-29 13:52 ` Luiz Capitulino
2011-09-29 20:15 ` Michael Roth
2011-09-29 20:57 ` Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E846AA1.2020000@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).