On Fri, Dec 13, 2019 at 15:56:08 +0100, Paolo Bonzini wrote:
On 13/12/19 15:46, Stefan Hajnoczi wrote:
> The Linux virtio_blk.ko guest driver is removing legacy SCSI passthrough
> support. Deprecate this feature in QEMU too.
>
> Signed-off-by: Stefan Hajnoczi <stefanha(a)redhat.com>
> ---
> qemu-deprecated.texi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
> index 4b4b7425ac..ef94d497da 100644
> --- a/qemu-deprecated.texi
> +++ b/qemu-deprecated.texi
> @@ -285,6 +285,17 @@ spec you can use the ``-cpu rv64gcsu,priv_spec=v1.9.1`` command
line argument.
>
> @section Device options
>
> +@subsection Emulated device options
> +
> +@subsubsection -device virtio-blk,scsi=on|off (since 5.0.0)
> +
> +The virtio-blk SCSI passthrough feature is a legacy VIRTIO feature. VIRTIO 1.0
> +and later do not support it because the virtio-scsi device was introduced for
> +full SCSI support. Use virtio-scsi instead when SCSI passthrough is required.
> +
> +Note this also applies to ``-device virtio-blk-pci,scsi=on|off'', which is
an
> +alias.
> +
> @subsection Block device options
>
> @subsubsection "backing": "" (since 2.12.0)
>
Reviewed-by: Paolo Bonzini <pbonzini(a)redhat.com>
Libvirt still allows and exposes this configuration:
<disk type='block' device='lun'>
<driver name='qemu' type='qcow2'/>
<source dev='/dev/sdfake2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x05' function='0x0'/>
</disk>
which results into the following command line:
-drive file=/dev/sdfake2,format=qcow2,if=none,id=drive-virtio-disk1 \
-device virtio-blk-pci,scsi=on,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,\
id=virtio-disk1
In this case I don't see any possibility how to fix it since it requires
change of controller.
I don't think that we've also added interlocks for this with VIRTIO 1.0