From 9425b5beaa81fe35394942b358e2d343540d5c56 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Thu, 27 Feb 2014 13:56:20 +0100 Subject: [PATCH 1/3] addhardware: Move controller addition before target generation https://bugzilla.redhat.com/show_bug.cgi?id=1036716 RHEL-only; upstream this is a part of commit 00d5312b in which there's a _set_disk_controller() function created with the code that is being moved in there. Signed-off-by: Martin Kletzander --- virtManager/addhardware.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py index 7719f8f..90cec84 100644 --- a/virtManager/addhardware.py +++ b/virtManager/addhardware.py @@ -1478,6 +1478,24 @@ class vmmAddHardware(vmmGObjectUI): for d in disks: used.append(d.target) + # Add a SCSI controller with model virtio-scsi if needed + disk.vmm_controller = None + if (controller_model == "virtio-scsi") and (bus == "scsi"): + controllers = self.vm.get_controller_devices() + controller = VirtualControllerSCSI(conn=self.conn.vmm) + controller.set_model(controller_model) + disk.vmm_controller = controller + for d in controllers: + if controller.type == d.type: + controller.index += 1 + if controller_model == d.model: + disk.vmm_controller = None + controller = d + break + + disk.address.type = disk.address.ADDRESS_TYPE_DRIVE + disk.address.controller = controller.index + disk.generate_target(used) isfatal, errmsg = disk.is_size_conflict() @@ -1498,24 +1516,6 @@ class vmmAddHardware(vmmGObjectUI): uihelpers.check_path_search_for_qemu(self.topwin, self.conn, disk.path) - # Add a SCSI controller with model virtio-scsi if needed - disk.vmm_controller = None - if (controller_model == "virtio-scsi") and (bus == "scsi"): - controllers = self.vm.get_controller_devices() - controller = VirtualControllerSCSI(conn=self.conn.vmm) - controller.set_model(controller_model) - disk.vmm_controller = controller - for d in controllers: - if controller.type == d.type: - controller.index += 1 - if controller_model == d.model: - disk.vmm_controller = None - controller = d - break - - disk.address.type = disk.address.ADDRESS_TYPE_DRIVE - disk.address.controller = controller.index - self._dev = disk return True -- 1.8.5.3