Re: [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size

From: Michael S. Tsirkin
Date: Wed Mar 11 2015 - 09:49:54 EST


On Wed, Mar 11, 2015 at 02:31:51PM +0100, Paolo Bonzini wrote:
>
>
> On 11/03/2015 14:19, Michael S. Tsirkin wrote:
> > QEMU wants to use virtio scsi structures with
> > a different VIRTIO_SCSI_CDB_SIZE/VIRTIO_SCSI_SENSE_SIZE,
> > let's add ifdefs to allow overriding them.
> >
> > Keep the old defines under new names:
> > VIRTIO_SCSI_CDB_DEFAULT_SIZE/VIRTIO_SCSI_SENSE_DEFAULT_SIZE,
> > since that's what these values really are:
> > defaults for cdb/sense size fields.
> >
> > Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>
> QEMU will then use a zero-element array instead of a flexible array
> member. That's okay.

Or a flex array member: just do
#define VIRTIO_SCSI_CDB_SIZE
#define VIRTIO_SCSI_SENSE_SIZE
before including this header.


> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>
> Paolo
>
> > ---
> > include/uapi/linux/virtio_scsi.h | 12 ++++++++++--
> > 1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/uapi/linux/virtio_scsi.h b/include/uapi/linux/virtio_scsi.h
> > index 42b9370..cc18ef8 100644
> > --- a/include/uapi/linux/virtio_scsi.h
> > +++ b/include/uapi/linux/virtio_scsi.h
> > @@ -29,8 +29,16 @@
> >
> > #include <linux/virtio_types.h>
> >
> > -#define VIRTIO_SCSI_CDB_SIZE 32
> > -#define VIRTIO_SCSI_SENSE_SIZE 96
> > +/* Default values of the CDB and sense data size configuration fields */
> > +#define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32
> > +#define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96
> > +
> > +#ifndef VIRTIO_SCSI_CDB_SIZE
> > +#define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE
> > +#endif
> > +#ifndef VIRTIO_SCSI_SENSE_SIZE
> > +#define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE
> > +#endif
> >
> > /* SCSI command request, followed by data-out */
> > struct virtio_scsi_cmd_req {
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/