[libvirt] [PATCH 1/3] conf: Add rom.enabled attribute for PCI devices

Andrea Bolognani abologna at redhat.com
Mon Apr 23 09:10:01 UTC 2018


On Mon, 2018-04-23 at 08:53 +0200, Peter Krempa wrote:
> > +        The optional <code>enabled</code> attribute can be set to
> > +        <code>no</code> to disable PCI ROM loading completely for the device.
> > +        <span class="since">Since 4.3.0 (QEMU and KVM only)</span>.
> 
> Maybe you should mention that any other configration may not be
> supported in that case.

Good idea.

> > @@ -6798,6 +6813,14 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
> >              goto cleanup;
> >          }
> >          info->romfile = virXMLPropString(rom, "file");
> > +
> > +        if (info->romenabled == VIR_TRISTATE_BOOL_NO &&
> > +            (info->rombar != VIR_TRISTATE_SWITCH_ABSENT || info->romfile)) {
> 
> I'd explicitly allow empty string in info->romfile, but that would mean
> that this needs to be moved to the qemu post-parse callback, since that
> is a qemu quirk.
> 
> Justification is that, mgmt tools will be able to use enabled='no'
> together with the empty file string without having to do any probing
> whether that is a valid configuration.

But enabled='no' would be rejected by earlier libvirt releases,
which makes the point about avoiding feature detection moot, no?

I would expect management applications that already use (invalid,
according to the schema, but working fine by all other counts)
file='' to keep using that until they bump their required libvirt
version to 4.3.0, and management applications that didn't already
use the existing kludge to just go straight for enabled='no'.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list