[libvirt] [PATCH] virtio-blk: deprecate SCSI passthrough

Daniel P. Berrangé berrange at redhat.com
Fri Dec 13 15:10:09 UTC 2019


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 at 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
> > >  
> > > + at subsection Emulated device options
> > > +
> > > + at 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 at 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 :|




More information about the libvir-list mailing list