On 15/07/2015 07:29, Jason Wang wrote: > Cc: Stefan Hajnoczi <stefa...@redhat.com> > Cc: Kevin Wolf <kw...@redhat.com> > Cc: qemu-bl...@nongnu.org > Signed-off-by: Jason Wang <jasow...@redhat.com> > --- > hw/block/virtio-blk.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c > index 4c27974..761d763 100644 > --- a/hw/block/virtio-blk.c > +++ b/hw/block/virtio-blk.c > @@ -731,7 +731,9 @@ 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 (s->conf.scsi) { > + virtio_add_feature(&features, VIRTIO_BLK_F_SCSI); > + }
This must only be done for newer machine types only, or you change guest ABI for scsi=off. Effectively you have to split it in two properties, "scsi" and "always_set_f_scsi". Paolo