]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fixe default disk bus selection logic
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 15 May 2008 16:24:26 +0000 (16:24 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 15 May 2008 16:24:26 +0000 (16:24 +0000)
ChangeLog
src/qemu_conf.c

index df07dd29946b9aa6be5937747c8040a727fdae1b..b87891a71b6ec7a64015dc18301b578521e244a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu May 15 12:21:08 EST 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * src/qemu_conf.c: Fix default disk bus selection logic
+
 Thu May 15 12:16:08 EST 2008 Daniel P. Berrange <berrange@redhat.com>
 
        Support xenner bootloader capability
index 4cb3f78c2aaac75378c588767776d239dd567ff1..3e9b78c399cbac6f16ce4edc214e53b9ede252ed 100644 (file)
@@ -698,10 +698,20 @@ static int qemudParseDiskXML(virConnectPtr conn,
     }
 
     if (!bus) {
-        if (disk->device == QEMUD_DISK_FLOPPY)
+        if (disk->device == QEMUD_DISK_FLOPPY) {
             disk->bus = QEMUD_DISK_BUS_FDC;
-        else
-            disk->bus = QEMUD_DISK_BUS_IDE;
+        } else {
+            if (STRPREFIX((const char *)target, "hd"))
+                disk->bus = QEMUD_DISK_BUS_IDE;
+            else if (STRPREFIX((const char *)target, "sd"))
+                disk->bus = QEMUD_DISK_BUS_SCSI;
+            else if (STRPREFIX((const char *)target, "vd"))
+                disk->bus = QEMUD_DISK_BUS_VIRTIO;
+            else if (STRPREFIX((const char *)target, "xvd"))
+                disk->bus = QEMUD_DISK_BUS_XEN;
+            else
+                disk->bus = QEMUD_DISK_BUS_IDE;
+        }
     } else if (STREQ((const char *)bus, "ide"))
         disk->bus = QEMUD_DISK_BUS_IDE;
     else if (STREQ((const char *)bus, "fdc"))