qemu-devel
[Top][All Lists]
Advanced

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]