From df2fb9bfff7906296d191de3431384b2e0729257 Mon Sep 17 00:00:00 2001 From: Laine Stump Date: Mon, 20 Jun 2016 14:24:35 -0400 Subject: [PATCH] conf: limit chassisNr, and busNr to a minimum value of 1, not 0 In the case of chassisNr (used to set chassis_nr of a pci-bridge controller), 0 is reserved for / used by the pci[e]-root bus. In the base of busNr, a value of 0 would mean that the root bus had no places available to plug in new buses, including the pxb itself (the documentation I wrote for pxb even noted the limit of busNr as 1.254). NB: oddly, the "chassis" attribute, which is used for pcie-root-port and pcie-switch-downstream-port *can* be set to 0, since it's the combination of {chassis, slot} that needs to be unique, not chassis by itself (and slot 0 of pcie-root is reserved, while pcie-*-port can use *only* slot 0). This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1342962 --- docs/formatdomain.html.in | 2 +- src/conf/domain_conf.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 7d3436304b..f660aa685c 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -3277,7 +3277,7 @@ control QEMU's "chassis_nr" option for the pci-bridge device (normally libvirt automatically sets this to the same value as the index attribute of the pci controller). If set, chassisNr - must be between 0 and 255. + must be between 1 and 255.
chassis
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f2086826a9..75ad03f49a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -8405,11 +8405,11 @@ virDomainControllerDefParseXML(xmlNodePtr node, chassisNr); goto error; } - if (def->opts.pciopts.chassisNr < 0 || + if (def->opts.pciopts.chassisNr < 1 || def->opts.pciopts.chassisNr > 255) { virReportError(VIR_ERR_XML_ERROR, _("PCI controller chassisNr '%s' out of range " - "- must be 0-255"), + "- must be 1-255"), chassisNr); goto error; } @@ -8456,11 +8456,11 @@ virDomainControllerDefParseXML(xmlNodePtr node, busNr); goto error; } - if (def->opts.pciopts.busNr < 0 || + if (def->opts.pciopts.busNr < 1 || def->opts.pciopts.busNr > 254) { virReportError(VIR_ERR_XML_ERROR, _("PCI controller busNr '%s' out of range " - "- must be 0-254"), + "- must be 1-254"), busNr); goto error; } -- GitLab