render / rpms / libvirt

Forked from rpms/libvirt 5 months ago
Clone
0a7476
From f76ff96c3ea876df4f09af0ed3e75cbaf31837cf Mon Sep 17 00:00:00 2001
0a7476
Message-Id: <f76ff96c3ea876df4f09af0ed3e75cbaf31837cf@dist-git>
0a7476
From: Peter Krempa <pkrempa@redhat.com>
0a7476
Date: Thu, 11 Apr 2019 15:14:28 -0400
0a7476
Subject: [PATCH] qemu: hotplug: Use switch statement for selecting disk bus
0a7476
 function
0a7476
MIME-Version: 1.0
0a7476
Content-Type: text/plain; charset=UTF-8
0a7476
Content-Transfer-Encoding: 8bit
0a7476
0a7476
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
0a7476
Reviewed-by: Ján Tomko <jtomko@redhat.com>
0a7476
(cherry picked from commit eb437cfdf8f536293e4a4f5ff0f57058b7e6988a)
0a7476
0a7476
Partially-Resolves: https://bugzilla.redhat.com/1658198
0a7476
Signed-off-by: Laine Stump <laine@redhat.com>
0a7476
Signed-off-by: Laine Stump <laine@laine.org>
0a7476
Message-Id: <20190411191453.24055-17-laine@redhat.com>
0a7476
Acked-by: Michal Privoznik <mprivozn@redhat.com>
0a7476
---
0a7476
 src/qemu/qemu_hotplug.c | 24 ++++++++++++++++++++----
0a7476
 1 file changed, 20 insertions(+), 4 deletions(-)
0a7476
0a7476
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
0a7476
index b7db65964e..5e8583ae8b 100644
0a7476
--- a/src/qemu/qemu_hotplug.c
0a7476
+++ b/src/qemu/qemu_hotplug.c
0a7476
@@ -4823,14 +4823,30 @@ qemuDomainDetachDeviceDiskLive(virQEMUDriverPtr driver,
0a7476
     switch ((virDomainDiskDevice) disk->device) {
0a7476
     case VIR_DOMAIN_DISK_DEVICE_DISK:
0a7476
     case VIR_DOMAIN_DISK_DEVICE_LUN:
0a7476
-        if (disk->bus == VIR_DOMAIN_DISK_BUS_VIRTIO)
0a7476
+
0a7476
+        switch ((virDomainDiskBus) disk->bus) {
0a7476
+        case VIR_DOMAIN_DISK_BUS_VIRTIO:
0a7476
             return qemuDomainDetachVirtioDiskDevice(driver, vm, disk, async);
0a7476
-        else if (disk->bus == VIR_DOMAIN_DISK_BUS_SCSI ||
0a7476
-                 disk->bus == VIR_DOMAIN_DISK_BUS_USB)
0a7476
+
0a7476
+        case VIR_DOMAIN_DISK_BUS_USB:
0a7476
+        case VIR_DOMAIN_DISK_BUS_SCSI:
0a7476
             return qemuDomainDetachDiskDevice(driver, vm, disk, async);
0a7476
-        else
0a7476
+
0a7476
+        case VIR_DOMAIN_DISK_BUS_IDE:
0a7476
+        case VIR_DOMAIN_DISK_BUS_FDC:
0a7476
+        case VIR_DOMAIN_DISK_BUS_XEN:
0a7476
+        case VIR_DOMAIN_DISK_BUS_UML:
0a7476
+        case VIR_DOMAIN_DISK_BUS_SATA:
0a7476
+        case VIR_DOMAIN_DISK_BUS_SD:
0a7476
             virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
0a7476
                            _("This type of disk cannot be hot unplugged"));
0a7476
+            break;
0a7476
+
0a7476
+        case VIR_DOMAIN_DISK_BUS_LAST:
0a7476
+        default:
0a7476
+            virReportEnumRangeError(virDomainDiskBus, disk->bus);
0a7476
+            break;
0a7476
+        }
0a7476
         break;
0a7476
 
0a7476
     case VIR_DOMAIN_DISK_DEVICE_CDROM:
0a7476
-- 
0a7476
2.21.0
0a7476