Re: [PATCH 2/2] virtio-scsi: Pack struct virtio_scsi_{req_cmd, resp_cmd}

Paolo Bonzini
2013-03-15T08:15:10Z

Il 15/03/2013 02:45, Asias He ha scritto:
> Device needs the exact size of these data structure. Prevent padding.
>
> This fixes guest hang when booting seabios + tcm_vhost.
>
> Signed-off-by: Asias He <asias@redhat.com>
> ---
> src/virtio-scsi.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/virtio-scsi.h b/src/virtio-scsi.h
> index bbfbf30..96c3701 100644
> --- a/src/virtio-scsi.h
> +++ b/src/virtio-scsi.h
> @@ -26,7 +26,7 @@ struct virtio_scsi_req_cmd {
> u8 prio;
> u8 crn;
> char cdb[VIRTIO_SCSI_CDB_SIZE];
> -};
> +} __attribute__((packed));
>
> /* This is the first element of the "in" scatter-gather list. */
> struct virtio_scsi_resp_cmd {
> @@ -36,7 +36,7 @@ struct virtio_scsi_resp_cmd {
> u8 status;
> u8 response;
> u8 sense[VIRTIO_SCSI_SENSE_SIZE];
> -};
> +} __attribute__((packed));
>
> #define VIRTIO_SCSI_S_OK 0
>
>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>