]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
domain: Fix PCI address decimal parsing regression
authorCole Robinson <crobinso@redhat.com>
Fri, 30 Apr 2010 16:14:35 +0000 (18:14 +0200)
committerDaniel Veillard <veillard@redhat.com>
Fri, 30 Apr 2010 16:14:35 +0000 (18:14 +0200)
<hostdev> address parsing previously attempted to detect the number
base: currently it is hardcoded to base 16, which can break PCI
assignment via virt-manager. Revert to the previous behavior.

* src/conf/domain_conf.c: virDomainDevicePCIAddressParseXML, switch to
  virStrToLong_ui(bus, NULL, 0, ...) to autodetect base

src/conf/domain_conf.c

index 1607e8b083f9d3fb0f0cee72d3ab36c5d8942d56..546ddf200eec845d652dbc9de6738c1c10b86ec8 100644 (file)
@@ -1079,28 +1079,28 @@ virDomainDevicePCIAddressParseXML(xmlNodePtr node,
     function = virXMLPropString(node, "function");
 
     if (domain &&
-        virStrToLong_ui(domain, NULL, 16, &addr->domain) < 0) {
+        virStrToLong_ui(domain, NULL, 0, &addr->domain) < 0) {
         virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                              _("Cannot parse <address> 'domain' attribute"));
         goto cleanup;
     }
 
     if (bus &&
-        virStrToLong_ui(bus, NULL, 16, &addr->bus) < 0) {
+        virStrToLong_ui(bus, NULL, 0, &addr->bus) < 0) {
         virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                              _("Cannot parse <address> 'bus' attribute"));
         goto cleanup;
     }
 
     if (slot &&
-        virStrToLong_ui(slot, NULL, 16, &addr->slot) < 0) {
+        virStrToLong_ui(slot, NULL, 0, &addr->slot) < 0) {
         virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                              _("Cannot parse <address> 'slot' attribute"));
         goto cleanup;
     }
 
     if (function &&
-        virStrToLong_ui(function, NULL, 16, &addr->function) < 0) {
+        virStrToLong_ui(function, NULL, 0, &addr->function) < 0) {
         virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                              _("Cannot parse <address> 'function' attribute"));
         goto cleanup;