From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Szrje-0000de-TC for qemu-devel@nongnu.org; Fri, 10 Aug 2012 12:06:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Szrjc-0008KL-OU for qemu-devel@nongnu.org; Fri, 10 Aug 2012 12:06:50 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:37808) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Szrjc-0008JQ-Kd for qemu-devel@nongnu.org; Fri, 10 Aug 2012 12:06:48 -0400 Received: from /spool/local by e7.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 10 Aug 2012 12:06:47 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id 890866E8075 for ; Fri, 10 Aug 2012 12:06:45 -0400 (EDT) Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7AG6g3i107812 for ; Fri, 10 Aug 2012 12:06:43 -0400 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7AG6PTs016110 for ; Fri, 10 Aug 2012 10:06:25 -0600 From: Anthony Liguori In-Reply-To: <20120810115057.261a58c2@doriath.home> References: <1343396239-19272-1-git-send-email-aliguori@us.ibm.com> <1343396239-19272-4-git-send-email-aliguori@us.ibm.com> <20120727131248.3fdca751@doriath.home> <87ipcq6c8f.fsf@codemonkey.ws> <20120810115057.261a58c2@doriath.home> Date: Fri, 10 Aug 2012 11:06:14 -0500 Message-ID: <87pq6ylojt.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: Peter Maydell , libvir-list@redhat.com, qemu-devel@nongnu.org, Markus Armbruster , Alexander Graf , Eric Blake Luiz Capitulino writes: > On Fri, 10 Aug 2012 09:41:20 -0500 > Anthony Liguori wrote: > >> Luiz Capitulino writes: >> >> > On Fri, 27 Jul 2012 08:37:15 -0500 >> > Anthony Liguori wrote: >> > >> >> This provides the same output as -M ? but in a structured way. >> >> >> >> Signed-off-by: Anthony Liguori >> >> --- >> >> qapi-schema.json | 28 ++++++++++++++++++++++++++++ >> >> qmp-commands.hx | 6 ++++++ >> >> vl.c | 31 +++++++++++++++++++++++++++++++ >> >> 3 files changed, 65 insertions(+), 0 deletions(-) >> >> >> >> diff --git a/qapi-schema.json b/qapi-schema.json >> >> index 28e9914..5b47026 100644 >> >> --- a/qapi-schema.json >> >> +++ b/qapi-schema.json >> >> @@ -2200,3 +2200,31 @@ >> >> # Since: 0.14.0 >> >> ## >> >> { 'command': 'closefd', 'data': {'fdname': 'str'} } >> >> + >> >> +## >> >> +# @MachineInfo: >> >> +# >> >> +# Information describing a machine. >> >> +# >> >> +# @name: the name of the machine >> >> +# >> >> +# @alias: #optional an alias for the machine name >> >> +# >> >> +# @default: #optional whether the machine is default >> > >> > Why is default optional? >> >> Brievity. > > Can you elaborate, please? There is only one machine that is default. Having default=false for all of the rest just adds a lot of unnecessary information in the response. Regards, Anthony Liguori > >> >> Regards, >> >> Anthony Liguori >> >> > >> >> +# >> >> +# Since: 1.2.0 >> >> +## >> >> +{ 'type': 'MachineInfo', >> >> + 'data': { 'name': 'str', '*alias': 'str', >> >> + '*is-default': 'bool' } } >> >> + >> >> +## >> >> +# @query-machines: >> >> +# >> >> +# Return a list of supported machines >> >> +# >> >> +# Returns: a list of MachineInfo >> >> +# >> >> +# Since: 1.2.0 >> >> +## >> >> +{ 'command': 'query-machines', 'returns': ['MachineInfo'] } >> >> diff --git a/qmp-commands.hx b/qmp-commands.hx >> >> index 5c55528..a6f82fc 100644 >> >> --- a/qmp-commands.hx >> >> +++ b/qmp-commands.hx >> >> @@ -2222,3 +2222,9 @@ EQMP >> >> .mhandler.cmd_new = qmp_marshal_input_device_list_properties, >> >> }, >> >> >> >> + { >> >> + .name = "query-machines", >> >> + .args_type = "", >> >> + .mhandler.cmd_new = qmp_marshal_input_query_machines, >> >> + }, >> >> + >> >> diff --git a/vl.c b/vl.c >> >> index 8904db1..cd900e0 100644 >> >> --- a/vl.c >> >> +++ b/vl.c >> >> @@ -1209,6 +1209,37 @@ QEMUMachine *find_default_machine(void) >> >> return NULL; >> >> } >> >> >> >> +MachineInfoList *qmp_query_machines(Error **errp) >> >> +{ >> >> + MachineInfoList *mach_list = NULL; >> >> + QEMUMachine *m; >> >> + >> >> + for (m = first_machine; m; m = m->next) { >> >> + MachineInfoList *entry; >> >> + MachineInfo *info; >> >> + >> >> + info = g_malloc0(sizeof(*info)); >> >> + if (m->is_default) { >> >> + info->has_is_default = true; >> >> + info->is_default = true; >> >> + } >> >> + >> >> + if (m->alias) { >> >> + info->has_alias = true; >> >> + info->alias = g_strdup(m->alias); >> >> + } >> >> + >> >> + info->name = g_strdup(m->name); >> >> + >> >> + entry = g_malloc0(sizeof(*entry)); >> >> + entry->value = info; >> >> + entry->next = mach_list; >> >> + mach_list = entry; >> >> + } >> >> + >> >> + return mach_list; >> >> +} >> >> + >> >> /***********************************************************/ >> >> /* main execution loop */ >> >> >>