]> xenbits.xensource.com Git - libvirt.git/commitdiff
Include PCI address in the error in virDomainNetFindIdx
authorJán Tomko <jtomko@redhat.com>
Tue, 1 Apr 2014 14:26:24 +0000 (16:26 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 3 Apr 2014 06:59:36 +0000 (08:59 +0200)
When looking up a net device by a MAC and PCI address, it is possible
that we've got a match on the MAC address but failed to match the
PCI address.

In that case, outputting just the MAC address can be confusing.

Partially resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=872028

src/conf/domain_conf.c

index 534c9e74e2b63de88e3d815836b54251900bb9f4..0c7d4e4c3e97c75629095c5872d50c27c40d739f 100644 (file)
@@ -10278,9 +10278,20 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net)
         }
     }
     if (matchidx < 0) {
-        virReportError(VIR_ERR_OPERATION_FAILED,
-                       _("no device matching mac address %s found"),
-                       virMacAddrFormat(&net->mac, mac));
+        if (PCIAddrSpecified) {
+            virReportError(VIR_ERR_OPERATION_FAILED,
+                           _("no device matching mac address %s found on "
+                             "%.4x:%.2x:%.2x.%.1x"),
+                           virMacAddrFormat(&net->mac, mac),
+                           net->info.addr.pci.domain,
+                           net->info.addr.pci.bus,
+                           net->info.addr.pci.slot,
+                           net->info.addr.pci.function);
+        } else {
+            virReportError(VIR_ERR_OPERATION_FAILED,
+                           _("no device matching mac address %s found"),
+                           virMacAddrFormat(&net->mac, mac));
+        }
     }
     return matchidx;
 }