From 12c5945be025f8d6c634a88ff1d4b388b0f7f272 Mon Sep 17 00:00:00 2001 From: Lin Ma Date: Thu, 23 Nov 2017 17:32:49 +0800 Subject: [PATCH] details: Disallow removing the scsi controller if disks attached to it Through virt-manager, After we removed a virtio-scsi controller which virtual disks still attach to it, Libvirt will add a LSI scsi controller for this guest automatically and trigger a lifecycle event, virt-manager updates and shows this new scsi controller in details panel once it got the lifecycle event. It may confuse user that a LSI scsi controller occurs while one removes the virtio-scsi controller. This patch prevents removing a scsi controller if any disks attaching to it. Signed-off-by: Lin Ma --- virtManager/details.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/virtManager/details.py b/virtManager/details.py index 5b3218859..6ec91a407 100644 --- a/virtManager/details.py +++ b/virtManager/details.py @@ -3003,6 +3003,11 @@ class vmmDetails(vmmGObjectUI): can_remove = False if controller.type == "pci": can_remove = False + if controller.type == "scsi": + for disk in self.vm.get_disk_devices(): + if disk.address.compare_controller(controller, disk.bus): + can_remove = False + break self.widget("config-remove").set_sensitive(can_remove) type_label = controller.pretty_desc()