On Tue, 6 Dec 2016 09:47:08 +0000 Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Mon, Dec 05, 2016 at 04:21:22PM +0100, Greg Kurz wrote: > > The current code recursively applies global properties from child up to > > parent. So, if you have: > > > > -global virtio-pci.disable-modern=on > > -global virtio-blk-pci.disable-modern=off > > > > Then the default value of disable-modern for a virtio-blk-pci device is on, > > which looks wrong from an OOP perspective. > > > > This patch reverses the logic, so that a child property always prevail. > > > > This fixes a subtle bug that got introduced in 2.7 with commit "9a4c0e220d8a > > hw/virtio-pci: fix virtio behaviour" for older (< 2.7) machine types: the > > HW_COMPAT_2_6 macro contains global virtio-pci.disable-* properties which > > would silently override global properties passed on the command line for > > virtio subtypes. > > > > Signed-off-by: Greg Kurz <gr...@kaod.org> > > --- > > > > AFAIK, libvirt's XML doesn't know about modern/legacy modes for virtio > > devices. Early adopters of virtio 1.0 had to rely on the <qemu:commandline> > > tag to pass global properties to QEMU. This patch ensures that XML files > > used with older machine types remain valid with newer versions of QEMU. > > > > FWIW I guess it could help to have this fix in 2.8, and also probably in > > 2.7.1. > > Hi Greg, > I won't merge this for QEMU 2.8 because this 2.7 issue is not a 2.8 > release blocker and it's too risky (good points have been raised in this > thread). > > Please target -stable when consensus has been reached. > Sure I'll just do that. Cheers. -- Greg > Thanks, > Stefan
pgp1NBp0rfEci.pgp
Description: OpenPGP digital signature