diff --git a/ChangeLog b/ChangeLog index 24f38112b2..d5eb4f9304 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Jul 29 14:08:00 CEST 2008 Chris Lalancette + + * src/qemu_conf.c: fix empty CD-ROM source device section + * tests/qemuxml2argvtest.c, + tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.xml, + tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args: Add test + for empty source CD-ROM device section + Tue Jul 29 10:41:30 CEST 2008 Daniel Veillard * src/openvz_conf.c: fix compilation with new XPath interface diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 9cd8c1e5d2..f5d12c7ddf 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -888,13 +888,11 @@ int qemudBuildCommandLine(virConnectPtr conn, goto error; } - if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) - media = "media=cdrom,"; - switch (disk->device) { case VIR_DOMAIN_DISK_DEVICE_CDROM: bootable = bootCD; bootCD = 0; + media = "media=cdrom,"; break; case VIR_DOMAIN_DISK_DEVICE_FLOPPY: bootable = bootFloppy; @@ -907,7 +905,7 @@ int qemudBuildCommandLine(virConnectPtr conn, } snprintf(opt, PATH_MAX, "file=%s,if=%s,%sindex=%d%s", - disk->src, bus, + disk->src ? disk->src : "", bus, media ? media : "", idx, bootable && diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args new file mode 100644 index 0000000000..95d8171c20 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args @@ -0,0 +1 @@ +/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0 -drive file=,if=ide,media=cdrom,index=2 -net none -serial none -parallel none -usb \ No newline at end of file diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.xml new file mode 100644 index 0000000000..257d4ef9ec --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.xml @@ -0,0 +1,27 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219200 + 219200 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu + + + + + + + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 5e1871d710..d136a1346d 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -145,6 +145,7 @@ mymain(int argc, char **argv) DO_TEST("clock-utc", 0); DO_TEST("clock-localtime", 0); DO_TEST("disk-cdrom", 0); + DO_TEST("disk-cdrom-empty", QEMUD_CMD_FLAG_DRIVE); DO_TEST("disk-floppy", 0); DO_TEST("disk-many", 0); DO_TEST("disk-virtio", QEMUD_CMD_FLAG_DRIVE |