diff --git a/ChangeLog b/ChangeLog index df07dd2994..b87891a71b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu May 15 12:21:08 EST 2008 Daniel P. Berrange + + * src/qemu_conf.c: Fix default disk bus selection logic + Thu May 15 12:16:08 EST 2008 Daniel P. Berrange Support xenner bootloader capability diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 4cb3f78c2a..3e9b78c399 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -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"))