[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 05/11] qapi: introduce new cmd option "allowe
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v6 05/11] qapi: introduce new cmd option "allowed-in-preconfig" |
Date: |
Sat, 28 Apr 2018 11:51:50 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Fri, Apr 27, 2018 at 05:05:30PM -0500, Eric Blake wrote:
[...]
> > diff --git a/monitor.c b/monitor.c
> > index 0ffdf1d..e5e60dc 100644
> > --- a/monitor.c
> > +++ b/monitor.c
> > @@ -1183,7 +1183,7 @@ static void monitor_init_qmp_commands(void)
> >
> > qmp_register_command(&qmp_commands, "query-qmp-schema",
> > qmp_query_qmp_schema,
> > - QCO_NO_OPTIONS);
> > + QCO_ALLOWED_IN_PRECONFIG);
>
> I understand why query-qmp-schema is special cased (because it uses
> 'gen':false in QAPI), but...
>
> > qmp_register_command(&qmp_commands, "device_add", qmp_device_add,
> > QCO_NO_OPTIONS);
> > qmp_register_command(&qmp_commands, "netdev_add", qmp_netdev_add,
> > @@ -1193,7 +1193,8 @@ static void monitor_init_qmp_commands(void)
> >
> > QTAILQ_INIT(&qmp_cap_negotiation_commands);
> > qmp_register_command(&qmp_cap_negotiation_commands, "qmp_capabilities",
> > - qmp_marshal_qmp_capabilities, QCO_NO_OPTIONS);
> > + qmp_marshal_qmp_capabilities,
> > + QCO_ALLOWED_IN_PRECONFIG);
>
> ...why are we still special-casing the registration of qmp_capabilities
> here...
[1]
>
> > }
> >
> > static bool qmp_cap_enabled(Monitor *mon, QMPCapability cap)
> > diff --git a/qapi/introspect.json b/qapi/introspect.json
> > index c7f67b7..8036154 100644
> > --- a/qapi/introspect.json
> > +++ b/qapi/introspect.json
> > @@ -262,13 +262,16 @@
> > # @allow-oob: whether the command allows out-of-band execution.
> > # (Since: 2.12)
> > #
> > +# @allowed-in-preconfig: command can be executed in preconfig runstate,
> > +# default: 'false' (Since 2.13)
> > +#
>
> If we like the bikeshedding on the QAPI spelling, I think it also
> applies to the introspection spelling.
>
>
> > +++ b/qapi/misc.json
> > @@ -35,7 +35,8 @@
> > #
> > ##
> > { 'command': 'qmp_capabilities',
> > - 'data': { '*enable': [ 'QMPCapability' ] } }
> > + 'data': { '*enable': [ 'QMPCapability' ] },
> > + 'allowed-in-preconfig': true }
>
> ...should't this be good enough to get qmp_capabilities registered? Hmm
> - maybe that's an independent cleanup (and it might be missed fallout
> from Peter Xu's OOB work).
My understanding is that we have two lists:
QmpCommandList qmp_commands, qmp_cap_negotiation_commands;
And here it only registers with qmp_commands list via:
qmp_init_marshal(&qmp_commands);
But not for the other one, which is explicitly registered at [1]. So
it seems that [1] is still needed?
Thanks,
--
Peter Xu
- [Qemu-devel] [PATCH v6 00/11] enable numa configuration before machine_init() from QMP, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 07/11] tests: add allowed-in-preconfig-test for qapi-schema, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 11/11] tests: functional tests for QMP command set-numa-node, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 01/11] numa: postpone options post-processing till machine_run_board_init(), Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 08/11] tests: extend qmp test with preconfig checks, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 04/11] hmp: disable monitor in preconfig state, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 10/11] qmp: add set-numa-node command, Igor Mammedov, 2018/04/27
- [Qemu-devel] [PATCH v6 09/11] qmp: permit query-hotpluggable-cpus in preconfig state, Igor Mammedov, 2018/04/27