Message ID | 1405334675-16453-1-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
* Paolo Bonzini (pbonzini@redhat.com) wrote: > Right now starting a machine with virtio-scsi and a <= 2.0 machine type > fails with: > > qemu-system-x86_64: -device virtio-scsi-pci: Property .any_layout not found > > This is because the any_layout bit was actually never set after > virtio-scsi was changed to support arbitrary layout for virtio buffers. > > (This was just a cleanup and a preparation for virtio 1.0; no guest > actually checks the bit, but the new request parsing algorithms are > tested even with old guest). > > Reported-by: David Gilbert <dgilbert@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Seems to fix the bug I hit. Dave > --- > include/hw/virtio/virtio-scsi.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h > index 0419ee4..188a2d9 100644 > --- a/include/hw/virtio/virtio-scsi.h > +++ b/include/hw/virtio/virtio-scsi.h > @@ -178,6 +178,8 @@ typedef struct { > DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128) > > #define DEFINE_VIRTIO_SCSI_FEATURES(_state, _feature_field) \ > + DEFINE_PROP_BIT("any_layout", _state, _feature_field, \ > + VIRTIO_F_ANY_LAYOUT, true), \ > DEFINE_PROP_BIT("hotplug", _state, _feature_field, VIRTIO_SCSI_F_HOTPLUG, \ > true), \ > DEFINE_PROP_BIT("param_change", _state, _feature_field, \ > -- > 1.9.3 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h index 0419ee4..188a2d9 100644 --- a/include/hw/virtio/virtio-scsi.h +++ b/include/hw/virtio/virtio-scsi.h @@ -178,6 +178,8 @@ typedef struct { DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128) #define DEFINE_VIRTIO_SCSI_FEATURES(_state, _feature_field) \ + DEFINE_PROP_BIT("any_layout", _state, _feature_field, \ + VIRTIO_F_ANY_LAYOUT, true), \ DEFINE_PROP_BIT("hotplug", _state, _feature_field, VIRTIO_SCSI_F_HOTPLUG, \ true), \ DEFINE_PROP_BIT("param_change", _state, _feature_field, \
Right now starting a machine with virtio-scsi and a <= 2.0 machine type fails with: qemu-system-x86_64: -device virtio-scsi-pci: Property .any_layout not found This is because the any_layout bit was actually never set after virtio-scsi was changed to support arbitrary layout for virtio buffers. (This was just a cleanup and a preparation for virtio 1.0; no guest actually checks the bit, but the new request parsing algorithms are tested even with old guest). Reported-by: David Gilbert <dgilbert@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- include/hw/virtio/virtio-scsi.h | 2 ++ 1 file changed, 2 insertions(+)