]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: domain: Assume 'raw' default storage format also for network storage
authorPeter Krempa <pkrempa@redhat.com>
Thu, 4 Oct 2018 12:43:46 +0000 (14:43 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 4 Feb 2019 12:42:11 +0000 (13:42 +0100)
Post parse callback adds the 'raw' type only for local files. Remote
files can also have backing store (even local) so we should do this also
for network backed storage.

Note that virStorageFileGetMetadata always considers files with no type
as raw so we will not accidentally traverse the backing chain and allow
unexpected files being labelled with svirt labels.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
13 files changed:
src/qemu/qemu_domain.c
tests/qemuxml2argvdata/disk-network-gluster.args
tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
tests/qemuxml2argvdata/disk-network-iscsi.args
tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
tests/qemuxml2argvdata/disk-network-nbd.args
tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
tests/qemuxml2xmloutdata/disk-network-gluster.xml
tests/qemuxml2xmloutdata/disk-network-iscsi.xml
tests/qemuxml2xmloutdata/disk-network-nbd.xml

index 162be7e9821df95e5f54e18f2cd4e079eef16737..25dc4412c0efb2b74272b3cc8b70db02d013e537 100644 (file)
@@ -6642,8 +6642,7 @@ qemuDomainDeviceDiskDefPostParse(virDomainDiskDefPtr disk,
 
     /* default disk format for drives */
     if (virDomainDiskGetFormat(disk) == VIR_STORAGE_FILE_NONE &&
-        (virDomainDiskGetType(disk) == VIR_STORAGE_TYPE_FILE ||
-         virDomainDiskGetType(disk) == VIR_STORAGE_TYPE_BLOCK))
+        virDomainDiskGetType(disk) != VIR_STORAGE_TYPE_VOLUME)
         virDomainDiskSetFormat(disk, VIR_STORAGE_FILE_RAW);
 
     /* default disk format for mirrored drive */
index 9952402d92f607e0483c7bc9ff589ee6192bd2d0..1538df9068c920a10013c9a0bc9defcde8568d9c 100644 (file)
@@ -26,7 +26,7 @@ if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
 -drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,file.debug=4,\
-if=none,id=drive-virtio-disk1' \
+format=raw,if=none,id=drive-virtio-disk1' \
 -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive file.driver=gluster,file.volume=Volume3,file.path=Image.qcow2,\
index a904ff5c704aa294d7f7a263370c3ff1f558e9a7..c463db0ed57b107fa1eaa514de6f09b916f61c0c 100644 (file)
@@ -29,7 +29,7 @@ if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
 -drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,file.debug=4,\
-if=none,id=drive-virtio-disk1' \
+format=raw,if=none,id=drive-virtio-disk1' \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive file.driver=gluster,file.volume=Volume3,file.path=Image.qcow2,\
index a4e968b917eeff6b9c79b95d5ef0cd5b5ea49fb1..9b99db8715dbbd093531e0817e671ba22f720eed 100644 (file)
@@ -29,7 +29,7 @@ if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
 -drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,file.debug=4,\
-if=none,id=drive-virtio-disk1' \
+format=raw,if=none,id=drive-virtio-disk1' \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive file.driver=gluster,file.volume=Volume3,file.path=Image.qcow2,\
index 45da3a9de99847989d9e769a5001e387b570c471..3cd3b5e03e8f4fc52de766308ed1235fc5ee48a4 100644 (file)
@@ -31,7 +31,8 @@ if=none,id=drive-virtio-disk1 \
 -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org:\
-6000/iqn.1992-01.com.example%3Astorage/1,if=none,id=drive-virtio-disk2 \
+6000/iqn.1992-01.com.example%3Astorage/1,format=raw,if=none,\
+id=drive-virtio-disk2 \
 -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk2,\
 id=virtio-disk2 \
 -drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org:\
index e298220e096e03bc685ee5a10a2a43b503e99338..4b648a985da6720150352d73263e7f400b091cdd 100644 (file)
@@ -40,7 +40,7 @@ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
 keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
 -drive file.driver=iscsi,file.portal=example.org:6000,\
 file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\
-file.user=myname,file.password-secret=virtio-disk2-secret0,if=none,\
+file.user=myname,file.password-secret=virtio-disk2-secret0,format=raw,if=none,\
 id=drive-virtio-disk2 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,\
 id=virtio-disk2 \
index e7cc4cd1fdaf4625bfd715ae50e5fc9c6d28b562..be9ab183149bb8a4da44ded9ef613721f3c8d33e 100644 (file)
@@ -40,7 +40,7 @@ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
 keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
 -drive file.driver=iscsi,file.portal=example.org:6000,\
 file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\
-file.user=myname,file.password-secret=virtio-disk2-secret0,if=none,\
+file.user=myname,file.password-secret=virtio-disk2-secret0,format=raw,if=none,\
 id=drive-virtio-disk2 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,\
 id=virtio-disk2 \
index df4436b027afef4ced12f3fabb87fe8dbf7c2844..4abff25a0ec4e3f1037eae000e959b4f64defec7 100644 (file)
@@ -24,7 +24,8 @@ server,nowait \
 -drive file=nbd:example.org:6000,format=raw,if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
--drive file=nbd:example.org:6000:exportname=bar,if=none,id=drive-virtio-disk1 \
+-drive file=nbd:example.org:6000:exportname=bar,format=raw,if=none,\
+id=drive-virtio-disk1 \
 -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive 'file=nbd://[::1]:6000,format=raw,if=none,id=drive-virtio-disk2' \
index 330aadea4bdf3b5ea78e887e296c327e93f1e401..86bde153eea93a71c2a0fda9d4c8a1cb231263a0 100644 (file)
@@ -27,7 +27,8 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -drive file=nbd:example.org:6000,format=raw,if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
--drive file=nbd:example.org:6000:exportname=bar,if=none,id=drive-virtio-disk1 \
+-drive file=nbd:example.org:6000:exportname=bar,format=raw,if=none,\
+id=drive-virtio-disk1 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive 'file=nbd://[::1]:6000,format=raw,if=none,id=drive-virtio-disk2' \
index f7e8502385e185a140815fc168e6c10d1e78d033..85452e715af747a8ed8a98202eaf0dd3723e9150 100644 (file)
@@ -27,7 +27,8 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -drive file=nbd:example.org:6000,format=raw,if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\
 id=virtio-disk0,bootindex=1 \
--drive file=nbd:example.org:6000:exportname=bar,if=none,id=drive-virtio-disk1 \
+-drive file=nbd:example.org:6000:exportname=bar,format=raw,if=none,\
+id=drive-virtio-disk1 \
 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\
 id=virtio-disk1 \
 -drive 'file=nbd://[::1]:6000,format=raw,if=none,id=drive-virtio-disk2' \
index ae2899040f2ab14f478aa1346cf3b368b51792a5..2c7c46b013ed2ec31c7d582fe42ae151de36b0e1 100644 (file)
@@ -23,7 +23,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </disk>
     <disk type='network' device='disk'>
-      <driver name='qemu'/>
+      <driver name='qemu' type='raw'/>
       <source protocol='gluster' name='Volume2/Image'>
         <host transport='unix' socket='/path/to/sock'/>
       </source>
index b089b2950da5b9c600b07878342322178e50b499..f1348d583efffa5e43975746097279e2134ab677 100644 (file)
@@ -31,7 +31,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
     </disk>
     <disk type='network' device='disk'>
-      <driver name='qemu'/>
+      <driver name='qemu' type='raw'/>
       <auth username='myname'>
         <secret type='iscsi' usage='mycluster_myname'/>
       </auth>
index bb4223a3f09881ea66fb6cb6c020bd6a51f1e0a7..818e8d7d7cb6ecc0d31480311c674e66b6308baf 100644 (file)
@@ -23,7 +23,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </disk>
     <disk type='network' device='disk'>
-      <driver name='qemu'/>
+      <driver name='qemu' type='raw'/>
       <source protocol='nbd' name='bar'>
         <host name='example.org' port='6000'/>
       </source>