The HOTPLUGGABLE flag is set for appropriates buses in a PCI address
set, and thnis patch updates virDomainPCIAddressFlagsCompatible() to
check the HOTPLUGGABLE flag when searching for a suitable bus/slot for
a device. No devices request HOTPLUGGABLE though (yet), so there is no
observable effect.
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/conf/domain_addr.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index b58989ac8b..580cf7e64d 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -376,6 +376,18 @@ virDomainPCIAddressFlagsCompatible(virPCIDeviceAddressPtr addr,
return false;
}
+ if ((devFlags & VIR_PCI_CONNECT_HOTPLUGGABLE) &&
+ !(busFlags & VIR_PCI_CONNECT_HOTPLUGGABLE)) {
+ if (reportError) {
+ virReportError(errType,
+ _("The device at PCI address %s requires "
+ "hotplug capability, but the PCI controller "
+ "with index='%d' doesn't support
hotplug"),
+ addrStr, addr->bus);
+ }
+ return false;
+ }
+
/* If this bus doesn't allow the type of connection (PCI
* vs. PCIe) required by the device, or if the device requires
* hot-plug and this bus doesn't have it, return false.
--
2.25.2