[libvirt] [PATCHv2] conf: log error when incorrect PCI root controller is added to domain

Cole Robinson crobinso at redhat.com
Wed Apr 27 16:07:34 UTC 2016


On 04/26/2016 04:49 PM, Laine Stump wrote:
> libvirt may automatically add a pci-root or pcie-root controller to a
> domain, depending on the arch/machinetype, and it hopefully always
> makes the right decision about which to add (since in all cases these
> controllers are an implicit part of the virtual machine).
> 
> But it's always possible that someone will create a config that
> explicitly supplies the wrong type of PCI controller for the selected
> machinetype. In the past that would lead to an error later when
> libvirt was trying to assign addresses to other devices, for example:
> 
>   XML error: PCI bus is not compatible with the device at
>   0000:00:02.0. Device requires a PCI Express slot, which is not
>   provided by bus 0000:00
> 
> (that's the error message that appears if you replace the pcie-root
> controller in a Q35 domain with a pci-root controller).
> 
> This patch adds a check at the same place that the implicit
> controllers are added (to ensure that the same logic is used to check
> which type of pci root is correct). If a pci controller with index='0'
> is already present, we verify that it is of the model that we would
> have otherwise added automatically; if not, an error is logged:
> 
>   The PCI controller with index='0' must be " model='pcie-root' for
>   this machine type, " but model='pci-root' was found instead.
> 
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1004602
> ---
> 

ACK, but not sure what the freeze policy is? You probably know better, so push
if you think it's appropriate

Thanks,
Cole




More information about the libvir-list mailing list