[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] qmp: add ACPI_DEVICE_OST event handling
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v3] qmp: add ACPI_DEVICE_OST event handling |
Date: |
Mon, 23 Jun 2014 09:56:00 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
On 06/20/2014 05:47 PM, Wenchao Xia wrote:
>> Not your fault, as the problem already exists, but it's a bit awkward
>> that qapi-event.json is not self-contained, and your patch is only
>> making it worse. qapi-event.json only makes sense when included by
>> qapi-schema.json, when ideally it would be nice if it made sense if
>> compiled in isolation. I already pointed this fact out on Wenchao's
>> series that made events part of QAPI, but fixing it first requires
>> teaching the code generators to flag places where a type is used without
>> a pre-definition, so that we know which types have to be moved into a
>> common include. So don't let this comment hold up your patch.
>>
> I think two issues should be addressed:
> 1 don't let generator guess the type if define is not found.
But we WANT to allow use of a type so long as it gets defined later in
the same file. So the trick is distinguishing between:
base.json - use of 'TypeFoo'
total.json: include base.json, define 'TypeFoo'
(broken, base.json was not self-contained)
vs.
base.json - define 'TypeFoo'
total.json - use of 'TypeFoo', then include base.json
(supported - even though 'TypeFoo' was used prior to being defined, the
include later in the file meant that total.json was self-contained)
> 2 Support duplicated include, that is:
>
> qapi/types.json
> |
> ---------------------------
> | |
> qapi/qapi-event.json qapi/block.json
> | |
> qapi-schema-json
>
> Making sure above include doesn't generate two copy of types from
> qapi/types.json.
We already support that.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature