[Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-07-27 Thread Anthony Liguori
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
+#
+# 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
@@ -,3 +,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 */
 
-- 
1.7.5.4




[Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-08-10 Thread Anthony Liguori
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 a938c8d..1eb0b0f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2216,3 +2216,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
+#
+# 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 52127a9..f343772 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -2224,3 +2224,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 ad9b036..084d671 100644
--- a/vl.c
+++ b/vl.c
@@ -1213,6 +1213,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 */
 
-- 
1.7.5.4




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-07-27 Thread Luiz Capitulino
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?

> +#
> +# 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
> @@ -,3 +,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 */
>  




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-07-27 Thread Eric Blake
On 07/27/2012 07:37 AM, 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

Can a machine have more than one alias?  In that case, it might be
better to have:

@name: the name of the machine
@alias-of: #optional if present, name is an alias, and this lists the
canonical form that it resolves to

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-07-27 Thread Anthony Liguori
Eric Blake  writes:

> On 07/27/2012 07:37 AM, 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
>
> Can a machine have more than one alias?

No, it can't.  Really, alias is only used to map 'pc' -> 'pc-1.1'.  It's
never more complicated than that.

Regards,

Anthony Liguori

> In that case, it might be better to have:
>
> @name: the name of the machine
> @alias-of: #optional if present, name is an alias, and this lists the
> canonical form that it resolves to

>
> -- 
> Eric Blake   ebl...@redhat.com+1-919-301-3266
> Libvirt virtualization library http://libvirt.org




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-07-27 Thread Eric Blake
On 07/27/2012 12:12 PM, Anthony Liguori wrote:
> Eric Blake  writes:

>>> +# @name: the name of the machine
>>> +#
>>> +# @alias: #optional an alias for the machine name
>>
>> Can a machine have more than one alias?
> 
> No, it can't.  Really, alias is only used to map 'pc' -> 'pc-1.1'.  It's
> never more complicated than that.

Fair enough.  Just making sure that in this case, we would see:

{ "name":"pc-1.1", "alias":"pc" }

and not the other way around, and in a future release, it may change to:

{ "name":"pc-1.1" },
{ "name":"pc-1.2", "alias":"pc" }

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-08-10 Thread Anthony Liguori
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.

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
>> @@ -,3 +,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 */
>>  




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-08-10 Thread Luiz Capitulino
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?

> 
> 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
> >> @@ -,3 +,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 */
> >>  
> 




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-08-10 Thread Anthony Liguori
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
>> >> @@ -,3 +,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 */
>> >>  
>> 




Re: [Qemu-devel] [PATCH 3/7] qapi: add query-machines command

2012-08-10 Thread Luiz Capitulino
On Fri, 10 Aug 2012 11:06:14 -0500
Anthony Liguori  wrote:

> 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.

I think it's more consistent to have the key (also, there are better ways
to save bytes on the wire if this is an issue), but I don't mind much though.