Re: [Qemu-block] [PATCH V2 2/5] virtio-blk: advertise scsi only when scsi is set
On 07/15/2015 03:57 PM, Paolo Bonzini wrote: On 15/07/2015 07:29, Jason Wang wrote: 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 --- 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 And always_set_f_scsi is true only for legacy machine types?
Re: [Qemu-block] [PATCH V2 2/5] virtio-blk: advertise scsi only when scsi is set
On 15/07/2015 07:29, Jason Wang wrote: 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 --- 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
Re: [Qemu-block] [PATCH V2 2/5] virtio-blk: advertise scsi only when scsi is set
On 15/07/2015 10:31, Jason Wang wrote: 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. And always_set_f_scsi is true only for legacy machine types? s/legacy/older/ :) It's also ignored for modern devices. So perhaps you could name it to transitional_force_f_scsi or something like that. Paolo
[Qemu-block] [PATCH V2 2/5] virtio-blk: advertise scsi only when scsi is set
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 --- 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); +} if (s-conf.config_wce) { virtio_add_feature(features, VIRTIO_BLK_F_CONFIG_WCE); -- 2.1.4