From 2d12d9482e2c96ea933931ef10ac62bb152a56b1 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 29 Mar 2018 08:49:08 +0200 Subject: [PATCH] qemu: domain: Forbid VIR_STORAGE_FILE_ISO as a disk format This format is used by the storage driver and other hypervisors but qemu does not have notion of the 'iso' format and libvirt does not translate it to anything useful, so it would not work anyways. Users should use 'raw' instead. Signed-off-by: Peter Krempa --- src/qemu/qemu_domain.c | 7 +++++ tests/qemuxml2argvdata/disk-drive-fmt-iso.xml | 27 +++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + 3 files changed, 35 insertions(+) create mode 100644 tests/qemuxml2argvdata/disk-drive-fmt-iso.xml diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index cd097527f4..68c1e28ec4 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4124,6 +4124,13 @@ qemuDomainValidateStorageSource(virStorageSourcePtr src) return -1; } + if (src->format == VIR_STORAGE_FILE_ISO) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("storage format 'iso' is not directly supported by QEMU, " + "use 'raw' instead")); + return -1; + } + return 0; } diff --git a/tests/qemuxml2argvdata/disk-drive-fmt-iso.xml b/tests/qemuxml2argvdata/disk-drive-fmt-iso.xml new file mode 100644 index 0000000000..ad2825bfb2 --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-fmt-iso.xml @@ -0,0 +1,27 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + + /usr/bin/qemu-system-i686 + + + + +
+ + + + + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 711bd1b661..3d278c4bc2 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -914,6 +914,7 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT); DO_TEST_PARSE_ERROR("disk-drive-fmt-cow", QEMU_CAPS_DRIVE_BOOT); DO_TEST_PARSE_ERROR("disk-drive-fmt-dir", QEMU_CAPS_DRIVE_BOOT); + DO_TEST_PARSE_ERROR("disk-drive-fmt-iso", QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-drive-shared", QEMU_CAPS_DRIVE_SERIAL); DO_TEST_PARSE_ERROR("disk-drive-shared-qcow", NONE);