mirror of https://github.com/apache/cloudstack.git
kvm: pre-add 32 PCI controller for hot-plug issue
On newer libvirt/qemu it seems PCI hot-plugging could be an issue as seen in: https://www.suse.com/support/kb/doc/?id=000019383 https://bugs.launchpad.net/nova/+bug/1836065 As per the default machine doc, it advises to pre-allocate PCI controllers on the machine and pcie-to-pci-bridge based controller for legacy PCI models: https://libvirt.org/pci-hotplug.html#x86_64-q35 This patch introduces the concept as a workaround until a proper fix is done (ideally in the upstream libvirt/qemu projects). Until then client code can add 32 PCI controllers and a pcie-to-pci-bridge controller. Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> (cherry picked from commit 60afad08f48f4cebf7eb7846ecf7d9eb68c0933b) Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
12378f79f8
commit
0bebc7624a
|
|
@ -530,6 +530,11 @@ public class LibvirtVMDef {
|
|||
devicesBuilder.append(dev.toString());
|
||||
}
|
||||
}
|
||||
devicesBuilder.append("<controller type='pci' model='pcie-root'/>\n");
|
||||
for (int i = 0; i < 32; i++) {
|
||||
devicesBuilder.append("<controller type='pci' model='pcie-root-port'/>\n");
|
||||
}
|
||||
devicesBuilder.append("<controller type='pci' model='pcie-to-pci-bridge'/>\n");
|
||||
devicesBuilder.append("</devices>\n");
|
||||
return devicesBuilder.toString();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue