[libvirt] [PATCH v2] virsh domxml-from-native to treat SCSI as the bus type for pseries by default

Shivaprasad G Bhat shivaprasadbhat at gmail.com
Mon Oct 28 09:20:06 UTC 2013


The bus type IDE being enum Zero, the bus type on pseries system appears as IDE for all the disk types. Pseries platform needs this to appear as SCSI instead of IDE.

Signed-off-by: Shivaprasad G Bhat <sbhat at linux.vnet.ibm.com>
---
 src/qemu/qemu_domain.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index b8aec2d..df06c13 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -827,6 +827,12 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
     if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
         virDomainDiskDefPtr disk = dev->data.disk;
 
+        if ((def->os.arch == VIR_ARCH_PPC64) &&
+            def->os.machine && STREQ(def->os.machine, "pseries") &&
+            (disk->bus == VIR_DOMAIN_DISK_BUS_IDE)) {
+            disk->bus = VIR_DOMAIN_DISK_BUS_SCSI;
+        }
+
         /* both of these require data from the driver config */
         if (driver && (cfg = virQEMUDriverGetConfig(driver))) {
             /* assign default storage format and driver according to config */
@@ -868,6 +874,11 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
         (def->os.arch == VIR_ARCH_S390 || def->os.arch == VIR_ARCH_S390X))
         dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO;
 
+    if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER &&
+        dev->data.controller->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE &&
+        def->os.machine && STREQ(def->os.machine, "pseries"))
+        dev->data.controller->type = VIR_DOMAIN_CONTROLLER_TYPE_SCSI;
+
     /* set the default USB model to none for s390 unless an address is found */
     if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER &&
         dev->data.controller->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&




More information about the libvir-list mailing list