[PATCH 08/14] qemu: domain: Forbid VIR_STORAGE_FILE_ISO as a disk format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This format is used by the storage driver and other hypervisors but qemu
does not have nothion 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 <pkrempa@xxxxxxxxxx>
---
 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 88b4653da5..e02da9e608 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 suppored 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 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219136</memory>
+  <currentMemory unit='KiB'>219136</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='i686' machine='pc'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <devices>
+    <emulator>/usr/bin/qemu-system-i686</emulator>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='iso'/>
+      <source file='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+    </disk>
+    <controller type='usb' index='0'/>
+    <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
+    <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
+    <memballoon model='none'/>
+  </devices>
+</domain>
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);
-- 
2.16.2

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux