Thomas Huth <th...@redhat.com> writes:

> On 2018-12-13 19:43, Markus Armbruster wrote:
>> From: Marc-André Lureau <marcandre.lur...@redhat.com>
>> 
>> 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 <marcandre.lur...@redhat.com>
>> Reviewed-by: Markus Armbruster <arm...@redhat.com>
>> Message-Id: <20181213123724.4866-23-marcandre.lur...@redhat.com>
>> Signed-off-by: Markus Armbruster <arm...@redhat.com>
>> ---
>>  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