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

Peter Krempa pkrempa at redhat.com
Fri Dec 13 15:07:06 UTC 2019


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 that we've also added interlocks for this with VIRTIO 1.0




More information about the libvir-list mailing list