[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 05/15] qapi: add 'export-marshal' command key
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v3 05/15] qapi: add 'export-marshal' command key |
Date: |
Tue, 09 Aug 2016 16:35:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Marc-André Lureau <address@hidden> writes:
> Hi
>
> On Tue, Aug 9, 2016 at 12:07 PM Markus Armbruster <address@hidden> wrote:
>
>> address@hidden writes:
>>
>> > From: Marc-André Lureau <address@hidden>
>> >
>> > When a command sets the 'export-marshal' key to true, the generated
>> > marshaller will be exported, so it can be called from outside.
>> >
>> > Signed-off-by: Marc-André Lureau <address@hidden>
>>
>> Sure we need to make linkage configurable in the schema? Why can't we
>> simply make all the marshallers extern?
>>
>
> Why would you expose all marshallers if you don't have to? Also, they
> shouldn't be called directly, but through qmp_dispatch() which does
> preliminary checks.
We have plenty of functions with external linkage that you're not
supposed to call directly.
It's nice to give things internal linkage. But I don't want to
complicate the QAPI schema language just so we can give a few more
functions internal linkage. Functions that have had external linkage
forever, which has caused us no problems at all.
> Alternatively, we could save the marshaller call:
>
> return qobject_from_jsonf("{'QMP': {'version': {'qemu': "
> "{'micro': %d. 'minor': %d, 'major': %d},"
> "'package': '%s'}, "
> "'capabilities': []}}",
> QEMU_VERSION_MICRO, QEMU_VERSION_MINOR,
> QEMU_VERSION_MAJOR, QEMU_PKGVERSION);
I'm afraid I'm not getting this part...
- Re: [Qemu-devel] [PATCH v3 01/15] qapi-schema: use generated marshaller for 'qmp_capabilities', (continued)
- [Qemu-devel] [PATCH v3 06/15] monitor: register the qapi generated commands, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 07/15] monitor: remove mhandler.cmd_new, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 08/15] monitor: implement 'qmp_query_commands' without qmp_cmds, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 09/15] qapi: remove the "middle" mode, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 10/15] qapi: check invalid arguments on no-args commands, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 11/15] qmp: update qmp_query_spice fallback, marcandre . lureau, 2016/08/08
- [Qemu-devel] [PATCH v3 12/15] monitor: use qmp_dispatch(), marcandre . lureau, 2016/08/08