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@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)
--
2.23.0
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@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@redhat.com> -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
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@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@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 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Fri, Dec 13, 2019 at 04:07:06PM +0100, Peter Krempa wrote: > 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@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@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 it really matters. QEMU is deprecating it with no seemless direct replacement, so I don't think libvirt needs to be concerned. The feature simply becomes unsupported. At the very most we need to check if it exists before using it, but even that's just a nice to have which results in a slightly prettier error message. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 13/12/19 16:10, Daniel P. Berrangé wrote: > I don't think it really matters. QEMU is deprecating it with no > seemless direct replacement, so I don't think libvirt needs to > be concerned. The feature simply becomes unsupported. > > At the very most we need to check if it exists before using it, > but even that's just a nice to have which results in a slightly > prettier error message. Libvirt right now assumes that a QEMU without the scsi property defaults to "on", but if the oldest supported QEMU version is 1.5.3 then it already has the property. So you can just give an error if there is no scsi property and device='lun'. Paolo
On Fri, Dec 13, 2019 at 02:46:26PM +0000, 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@redhat.com> Fine with me as the original author: Reviewed-by: Christoph Hellwig <hch@lst.de> -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 13/12/2019 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@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. ... and "-device virtio-blk-ccw,scsi=on|off". With that added: Reviewed-by: Thomas Huth <thuth@redhat.com> -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Fri, Dec 13, 2019 at 02:46:26PM +0000, 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@redhat.com> > --- > qemu-deprecated.texi | 11 +++++++++++ > 1 file changed, 11 insertions(+) Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.