qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 0bcba4: machine: Convert abstract typename on


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 0bcba4: machine: Convert abstract typename on compat_props...
Date: Wed, 15 Mar 2017 07:30:12 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0bcba41fe379e4c6834adcf1456d9099db31a5b2
      
https://github.com/qemu/qemu/commit/0bcba41fe379e4c6834adcf1456d9099db31a5b2
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-03-14 (Tue, 14 Mar 2017)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  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 <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Halil Pasic <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Tested-by: Greg Kurz <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 926e368388420a9728de1e31528ba48e7e8029b3
      
https://github.com/qemu/qemu/commit/926e368388420a9728de1e31528ba48e7e8029b3
  Author: Peter Maydell <address@hidden>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ehabkost/tags/machine-pull-request' 
into staging

Fix global property and -cpu handling bug

This bug fix was supposed to be applied just after 2.8.0 was
released, but it slipped through the cracks. Sending it now for
the next -rc.

# gpg: Signature made Tue 14 Mar 2017 20:04:50 GMT
# gpg:                using RSA key 0x2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <address@hidden>"
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-pull-request:
  machine: Convert abstract typename on compat_props to subclass names

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/d84f714eafed...926e36838842

reply via email to

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