[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 32/32] qapi: add conditions to REPLICATION type/c
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PULL 32/32] qapi: add conditions to REPLICATION type/commands on the schema |
Date: |
Mon, 17 Dec 2018 20:18:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Thomas Huth <address@hidden> writes:
> On 2018-12-13 19:43, Markus Armbruster wrote:
>> From: Marc-André Lureau <address@hidden>
>>
>> Add #if defined(CONFIG_REPLICATION) in generated code, and adjust the
>> code accordingly.
>>
>> Made conditional:
>>
>> * xen-set-replication, query-xen-replication-status,
>> xen-colo-do-checkpoint
>>
>> Before the patch, we first register the commands unconditionally in
>> generated code (requires a stub), then conditionally unregister in
>> qmp_unregister_commands_hack().
>>
>> Afterwards, we register only when CONFIG_REPLICATION. The command
>> fails exactly the same, with CommandNotFound.
>>
>> Improvement, because now query-qmp-schema is accurate, and we're one
>> step closer to killing qmp_unregister_commands_hack().
>>
>> * enum BlockdevDriver value "replication" in command blockdev-add
>>
>> * BlockdevOptions variant @replication
>>
>> and related structures.
>>
>> Signed-off-by: Marc-André Lureau <address@hidden>
>> Reviewed-by: Markus Armbruster <address@hidden>
>> Message-Id: <address@hidden>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> migration/colo.c | 16 ++++------------
>> monitor.c | 5 -----
>> qapi/block-core.json | 13 +++++++++----
>> qapi/migration.json | 12 ++++++++----
>> 4 files changed, 21 insertions(+), 25 deletions(-)
>
> I think this might have broken compilation with --disable-replication:
>
> https://gitlab.com/huth/qemu/-/jobs/135648240
Reproduced.
> Any ideas how to fix it?
The problem is fairly obvious, repair less so. Sorry this escaped
review.
Union BlockdevCreateOptions doesn't specify a variant for tag
'replication'. The default variant needs to inherits its condition from
the enumeration value. I hope we can develop a fix quickly.
- [Qemu-devel] [PULL 19/32] qapi: improve reporting of unknown or missing keys, (continued)
- [Qemu-devel] [PULL 19/32] qapi: improve reporting of unknown or missing keys, Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 30/32] qapi: add condition to variants documentation, Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 14/32] qapi: break long lines at 'data' member, Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 21/32] qapi: add 'if' to enum members, Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 01/32] cutils: Add qemu_strtod() and qemu_strtod_finite(), Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 09/32] test-string-input-visitor: Add range overflow tests, Markus Armbruster, 2018/12/13
- [Qemu-devel] [PULL 32/32] qapi: add conditions to REPLICATION type/commands on the schema, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 26/32] qapi: add 'if' to alternate members, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 20/32] qapi: add a dictionary form with 'name' key for enum members, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 25/32] qapi: add 'if' to union members, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 11/32] json: Fix to reject duplicate object member names, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 29/32] qapi: add 'If:' condition to struct members documentation, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 16/32] qapi: change enum visitor and gen_enum* to take QAPISchemaMember, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 18/32] qapi: factor out checking for keys, Markus Armbruster, 2018/12/13
[Qemu-devel] [PULL 24/32] qapi: Add 'if' to implicit struct members, Markus Armbruster, 2018/12/13