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

Laine Stump laine at laine.org
Thu Apr 21 18:48:13 UTC 2016


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;
                 }
             }
-- 
2.5.5




More information about the libvir-list mailing list