[libvirt] [PATCH 1/4] qemu: fix error log in qemuAssignPCIAddresses()

Cole Robinson crobinso at redhat.com
Sat Apr 23 16:43:33 UTC 2016


On 04/21/2016 02:48 PM, Laine Stump wrote:
> This error message was too specific, based on the incorrect assumption
> that any error was cause by auto-added bridges:
> 
>   failed to create PCI bridge on bus 2: too many devices
>   with fixed addresses
> 
> In practice you can't know if a bridge with an index <= the bus it's
> connecting to was added automatically, or if it was a mistake in
> explicit config, and the auto-add problem is going to be dealt with in
> a different way in an upcoming patch. The new message is this:
> 
>   PCI Controller at index 1 (0x01) has "
>   bus='0x02', but bus must be <= index
> 
> (note that index is given in both decimal and hex because it is
> formatted as decimal in the XML, but bus is formatted as hex, and
> displaying the hex value of index makes it easier to see the problem
> when index > 9 (which will often be the case with PCIe, since most
> controllers only have a single port, not 32 slots as with standard
> PCI)).
> ---
>  src/qemu/qemu_domain_address.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
> index bb8c16c..f4d5533 100644
> --- a/src/qemu/qemu_domain_address.c
> +++ b/src/qemu/qemu_domain_address.c
> @@ -1609,10 +1609,9 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
>                  if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE &&
>                      idx <= addr->bus) {
>                      virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> -                                   _("failed to create PCI bridge "
> -                                     "on bus %d: too many devices with fixed "
> -                                     "addresses"),
> -                                   addr->bus);
> +                                   _("PCI controller at index %d (0x%02x) has "
> +                                     "bus='0x%02x', but bus must be <= index"),
> +                                   idx, idx, addr->bus);
>                      goto cleanup;
>                  }
>              }
> 

ACK

- Cole




More information about the libvir-list mailing list