From bf9695690ec58cf15b969d2f6e0bc994c76fa9e8 Mon Sep 17 00:00:00 2001 From: Apollon Oikonomopoulos Date: Fri, 28 Mar 2014 20:29:17 +0200 Subject: [PATCH] (2.10) KVM: reserve a PCI slot for the SCSI controller Currently instances with disk_type=scsi are broken, because the SCSI controller uses a PCI slot not accounted for in the PCI assignment logic. We reserve a throw-away slot just for that. This is a temporary workaround and will be reverted during the upcoming refactoring. Signed-off-by: Apollon Oikonomopoulos Signed-off-by: Thomas Thrainer Reviewed-by: Thomas Thrainer --- lib/hypervisor/hv_kvm.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index b1e93da..c1bf74f 100644 --- a/lib/hypervisor/hv_kvm.py +++ b/lib/hypervisor/hv_kvm.py @@ -1462,6 +1462,10 @@ class KVMHypervisor(hv_base.BaseHypervisor): _ = _GetFreeSlot(pci_reservations, reserve=True) kvm_cmd.extend(["-soundhw", soundhw]) + if hvp[constants.HV_DISK_TYPE] == constants.HT_DISK_SCSI: + # The SCSI controller requires another PCI slot. + _ = _GetFreeSlot(pci_reservations, reserve=True) + # Add id to ballon and place to the first available slot (3 or 4) addr = _GetFreeSlot(pci_reservations, reserve=True) pci_info = ",bus=pci.0,addr=%s" % hex(addr) -- 1.7.10.4