On Mon, Jul 13, 2015 at 05:00:51PM +0800, Jason Wang wrote: > > > On 07/13/2015 03:46 PM, Michael S. Tsirkin wrote: > > On Mon, Jul 13, 2015 at 01:46:48PM +0800, Jason Wang wrote: > >> VIRTIO_BLK_F_SCSI was no longer supported in 1.0. So disable it. > >> > >> Cc: Stefan Hajnoczi <stefa...@redhat.com> > >> Cc: Kevin Wolf <kw...@redhat.com> > >> Cc: qemu-block@nongnu.org > >> Signed-off-by: Jason Wang <jasow...@redhat.com> > > Interesting, I noticed we have a field scsi - see > > commit 1ba1f2e319afdcb485963cd3f426fdffd1b725f2 > > Author: Paolo Bonzini <pbonz...@redhat.com> > > Date: Fri Dec 23 15:39:03 2011 +0100 > > > > virtio-blk: refuse SG_IO requests with scsi=off > > > > but it doesn't seem to be propagated to guest features in > > any way. > > > > Maybe we should fix that, making that flag AutoOnOff? > > Looks ok but auto may need some compat work since default is true.
Right. Auto would then mean "!modern". > > Then, if user explicitly requested scsi=on with a modern > > interface then we can error out cleanly. > > > > Given scsi flag is currently ignored, I think > > this can be a patch on top. > > Looks like virtio_blk_handle_scsi_req() check this: > > if (!blk->conf.scsi) { > status = VIRTIO_BLK_S_UNSUPP; > goto fail; > } > > > > >> --- > >> hw/block/virtio-blk.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c > >> index 6aefda4..f30ad25 100644 > >> --- a/hw/block/virtio-blk.c > >> +++ b/hw/block/virtio-blk.c > >> @@ -730,7 +730,8 @@ static uint64_t virtio_blk_get_features(VirtIODevice > >> *vdev, uint64_t features) > >> virtio_add_feature(&features, VIRTIO_BLK_F_GEOMETRY); > >> virtio_add_feature(&features, VIRTIO_BLK_F_TOPOLOGY); > >> virtio_add_feature(&features, VIRTIO_BLK_F_BLK_SIZE); > >> - virtio_add_feature(&features, VIRTIO_BLK_F_SCSI); > >> + if (!__virtio_has_feature(features, VIRTIO_F_VERSION_1)) > >> + virtio_add_feature(&features, VIRTIO_BLK_F_SCSI); > >> > >> if (s->conf.config_wce) { > >> virtio_add_feature(&features, VIRTIO_BLK_F_CONFIG_WCE); > >> -- > >> 2.1.4