]> xenbits.xensource.com Git - qemu-upstream-unstable.git/commitdiff
virtio-scsi: fix with -M pc-i440fx-2.0
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 14 Jul 2014 10:03:09 +0000 (12:03 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 14 Jul 2014 14:14:15 +0000 (16:14 +0200)
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>
Reviewed-by: David Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/hw/virtio/virtio-scsi.h

index 0419ee42522c0f51bd985e5eef309693d0ba1937..188a2d91449fef3d8f4e71c342346b8cb5de895b 100644 (file)
@@ -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,                    \