qemu: caps: Enable QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI

Enable it when regular QEMU_CAPS_BLOCKDEV is present.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2020-07-08 15:02:56 +02:00
parent 8d243d257f
commit 30932473e1
11 changed files with 65 additions and 44 deletions

View File

@ -5124,6 +5124,9 @@ virQEMUCapsInitProcessCapsInterlock(virQEMUCapsPtr qemuCaps)
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_STORAGE_WERROR)) {
virQEMUCapsClear(qemuCaps, QEMU_CAPS_STORAGE_WERROR);
}
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI);
}

View File

@ -188,6 +188,7 @@
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='blockdev-hostdev-scsi'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>

View File

@ -152,6 +152,7 @@
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='blockdev-hostdev-scsi'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion>

View File

@ -235,6 +235,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='intel-iommu.aw-bits'/>
<flag name='blockdev-hostdev-scsi'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>

View File

@ -198,6 +198,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='numa.hmat'/>
<flag name='blockdev-hostdev-scsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>

View File

@ -207,6 +207,7 @@
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='spapr-tpm-proxy'/>
<flag name='numa.hmat'/>
<flag name='blockdev-hostdev-scsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>

View File

@ -194,6 +194,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='numa.hmat'/>
<flag name='blockdev-hostdev-scsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>

View File

@ -242,6 +242,7 @@
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='intel-iommu.aw-bits'/>
<flag name='numa.hmat'/>
<flag name='blockdev-hostdev-scsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>

View File

@ -242,6 +242,7 @@
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='intel-iommu.aw-bits'/>
<flag name='numa.hmat'/>
<flag name='blockdev-hostdev-scsi'/>
<version>5000050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>

View File

@ -34,34 +34,42 @@ file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\
"file":"libvirt-1-storage"}' \
-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
-drive file=/dev/sg0,if=none,format=raw,id=drive-hostdev0 \
-device scsi-generic,bus=scsi0.0,scsi-id=7,drive=drive-hostdev0,id=hostdev0 \
-drive file=/dev/sg0,if=none,format=raw,id=drive-hostdev1,readonly=on \
-device scsi-generic,bus=scsi0.0,scsi-id=6,drive=drive-hostdev1,id=hostdev1 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example,file.lun=0,file.transport=tcp,if=none,\
format=raw,id=drive-hostdev2 \
-device scsi-generic,bus=scsi0.0,scsi-id=4,drive=drive-hostdev2,id=hostdev2 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example,file.lun=1,file.transport=tcp,if=none,\
format=raw,id=drive-hostdev3 \
-device scsi-generic,bus=scsi0.0,scsi-id=5,drive=drive-hostdev3,id=hostdev3 \
-blockdev '{"driver":"host_device","filename":"/dev/sg0",\
"node-name":"libvirt-hostdev0-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,scsi-id=7,drive=libvirt-hostdev0-backend,\
id=hostdev0 \
-blockdev '{"driver":"host_device","filename":"/dev/sg0",\
"node-name":"libvirt-hostdev1-backend","read-only":true}' \
-device scsi-generic,bus=scsi0.0,scsi-id=6,drive=libvirt-hostdev1-backend,\
id=hostdev1 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\
"node-name":"libvirt-hostdev2-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,scsi-id=4,drive=libvirt-hostdev2-backend,\
id=hostdev2 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example","lun":1,"transport":"tcp",\
"node-name":"libvirt-hostdev3-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,scsi-id=5,drive=libvirt-hostdev3-backend,\
id=hostdev3 \
-object secret,id=hostdev4-secret0,\
data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\
file.user=myname,file.password-secret=hostdev4-secret0,if=none,format=raw,\
id=drive-hostdev4 \
-device scsi-generic,bus=scsi0.0,scsi-id=3,drive=drive-hostdev4,id=hostdev4 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\
"user":"myname","password-secret":"hostdev4-secret0",\
"node-name":"libvirt-hostdev4-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,scsi-id=3,drive=libvirt-hostdev4-backend,\
id=hostdev4 \
-object secret,id=hostdev5-secret0,\
data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example:storage,file.lun=2,file.transport=tcp,\
file.user=myname,file.password-secret=hostdev5-secret0,if=none,format=raw,\
id=drive-hostdev5 \
-device scsi-generic,bus=scsi0.0,scsi-id=2,drive=drive-hostdev5,id=hostdev5 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example:storage","lun":2,"transport":"tcp",\
"user":"myname","password-secret":"hostdev5-secret0",\
"node-name":"libvirt-hostdev5-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,scsi-id=2,drive=libvirt-hostdev5-backend,\
id=hostdev5 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
resourcecontrol=deny \

View File

@ -34,40 +34,42 @@ file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\
"file":"libvirt-1-storage"}' \
-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
-drive file=/dev/sg0,if=none,format=raw,id=drive-hostdev0 \
-blockdev '{"driver":"host_device","filename":"/dev/sg0",\
"node-name":"libvirt-hostdev0-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=4,lun=8,\
drive=drive-hostdev0,id=hostdev0 \
-drive file=/dev/sg0,if=none,format=raw,id=drive-hostdev1,readonly=on \
drive=libvirt-hostdev0-backend,id=hostdev0 \
-blockdev '{"driver":"host_device","filename":"/dev/sg0",\
"node-name":"libvirt-hostdev1-backend","read-only":true}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=4,lun=7,\
drive=drive-hostdev1,id=hostdev1 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example,file.lun=0,file.transport=tcp,if=none,\
format=raw,id=drive-hostdev2 \
drive=libvirt-hostdev1-backend,id=hostdev1 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\
"node-name":"libvirt-hostdev2-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=2,lun=4,\
drive=drive-hostdev2,id=hostdev2 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example,file.lun=1,file.transport=tcp,if=none,\
format=raw,id=drive-hostdev3 \
drive=libvirt-hostdev2-backend,id=hostdev2 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example","lun":1,"transport":"tcp",\
"node-name":"libvirt-hostdev3-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=2,lun=5,\
drive=drive-hostdev3,id=hostdev3 \
drive=libvirt-hostdev3-backend,id=hostdev3 \
-object secret,id=hostdev4-secret0,\
data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\
file.user=myname,file.password-secret=hostdev4-secret0,if=none,format=raw,\
id=drive-hostdev4 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\
"user":"myname","password-secret":"hostdev4-secret0",\
"node-name":"libvirt-hostdev4-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=3,lun=4,\
drive=drive-hostdev4,id=hostdev4 \
drive=libvirt-hostdev4-backend,id=hostdev4 \
-object secret,id=hostdev5-secret0,\
data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
-drive file.driver=iscsi,file.portal=example.org:3260,\
file.target=iqn.1992-01.com.example:storage,file.lun=2,file.transport=tcp,\
file.user=myname,file.password-secret=hostdev5-secret0,if=none,format=raw,\
id=drive-hostdev5 \
-blockdev '{"driver":"iscsi","portal":"example.org:3260",\
"target":"iqn.1992-01.com.example:storage","lun":2,"transport":"tcp",\
"user":"myname","password-secret":"hostdev5-secret0",\
"node-name":"libvirt-hostdev5-backend","read-only":false}' \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=3,lun=5,\
drive=drive-hostdev5,id=hostdev5 \
drive=libvirt-hostdev5-backend,id=hostdev5 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
resourcecontrol=deny \