mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-25 12:52:19 +00:00
conf: nodedev: Set PCI_PHYSICAL_FUNCTION flag more carefully
Instead of setting the flag before parsing the PCI address, set it afterwards. This ensure we can never end up in a situation where the flag has been set but pci_dev.physical_function has not been filled in.
This commit is contained in:
parent
fc9ba9d574
commit
54f325e925
@ -1293,8 +1293,6 @@ virNodeDevPCICapabilityParseXML(xmlXPathContextPtr ctxt,
|
|||||||
if (VIR_ALLOC(data->pci_dev.physical_function) < 0)
|
if (VIR_ALLOC(data->pci_dev.physical_function) < 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
data->pci_dev.flags |= VIR_NODE_DEV_CAP_FLAG_PCI_PHYSICAL_FUNCTION;
|
|
||||||
|
|
||||||
if (!address) {
|
if (!address) {
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("Missing address in 'phys_function' capability"));
|
_("Missing address in 'phys_function' capability"));
|
||||||
@ -1304,6 +1302,8 @@ virNodeDevPCICapabilityParseXML(xmlXPathContextPtr ctxt,
|
|||||||
if (virPCIDeviceAddressParseXML(address,
|
if (virPCIDeviceAddressParseXML(address,
|
||||||
data->pci_dev.physical_function) < 0)
|
data->pci_dev.physical_function) < 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
data->pci_dev.flags |= VIR_NODE_DEV_CAP_FLAG_PCI_PHYSICAL_FUNCTION;
|
||||||
} else if (STREQ(type, "virt_functions")) {
|
} else if (STREQ(type, "virt_functions")) {
|
||||||
int naddresses;
|
int naddresses;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user