On 12/20/19 7:25 AM, Markus Armbruster wrote:


I suppose moving a field between a union base and all variants does
still result in different introspection even though the accepted inputs
are the same.

Correct.  A common member (whether it's local or from the base) is in
SchemaInfoObject.members[].  Moving it to all the variants moves it to
the variant types' .members[].

               Is this kind of movement still allowed unconditionally or
should we be more careful with something like this?

QMP's backward compatibility promise does not include "introspection
value won't change".  Still, such changes can conceivably confuse
clients.  Care is advisable.  But it's not a hard "no".

And libvirt already correctly handles movements like this (so there are existing clients aware of the potential confusion).

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org


Reply via email to