summary refs log tree commit diff stats
path: root/scripts/qapi2texi.py
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2016-12-12 18:49:05 -0200
committerEduardo Habkost <ehabkost@redhat.com>2017-03-14 16:53:44 -0300
commit0bcba41fe379e4c6834adcf1456d9099db31a5b2 (patch)
tree543375c01001d92f838f2a7d329cd35d50b3243f /scripts/qapi2texi.py
parentd84f714eafedd8bb9d4aaec8b76417bef8e3535e (diff)
downloadfocaccia-qemu-0bcba41fe379e4c6834adcf1456d9099db31a5b2.tar.gz
focaccia-qemu-0bcba41fe379e4c6834adcf1456d9099db31a5b2.zip
machine: Convert abstract typename on compat_props to subclass names
Original problem description by Greg Kurz:

> Since commit "9a4c0e220d8a hw/virtio-pci: fix virtio
> behaviour", passing -device virtio-blk-pci.disable-modern=off
> has no effect on 2.6 machine types because the internal
> virtio-pci.disable-modern=on compat property always prevail.

The same bug also affects other abstract type names mentioned on
compat_props by machine-types: apic-common, i386-cpu, pci-device,
powerpc64-cpu, s390-skeys, spapr-pci-host-bridge, usb-device,
virtio-pci, x86_64-cpu.

The right fix for this problem is to make sure compat_props and
-global options are always applied in the order they are
registered, instead of reordering them based on the type
hierarchy. But changing the ordering rules of -global is risky
and might break existing configurations, so we shouldn't do that
on a stable branch.

This is a temporary hack that will work around the bug when
registering compat_props properties: if we find an abstract class
on compat_props, register properties for all its non-abstract
subtypes instead. This will make sure -global won't be overridden
by compat_props, while keeping the existing ordering rules on
-global options.

Note that there's one case that won't be fixed by this hack:
"-global spapr-pci-vfio-host-bridge.<option>=<value>" won't be
able to override compat_props, because spapr-pci-host-bridge is
not an abstract class.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <1481575745-26120-1-git-send-email-ehabkost@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'scripts/qapi2texi.py')
0 files changed, 0 insertions, 0 deletions