Michael S. Tsirkin
2015-Mar-11 13:19 UTC
[PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
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 at redhat.com> Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- 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 { -- MST
Paolo Bonzini
2015-Mar-11 13:31 UTC
[PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
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 at redhat.com> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>QEMU will then use a zero-element array instead of a flexible array member. That's okay. Acked-by: Paolo Bonzini <pbonzini at redhat.com> 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 { >
Michael S. Tsirkin
2015-Mar-11 13:49 UTC
[PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
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 at redhat.com> > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > > 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 at redhat.com> > > 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 { > >
Michael S. Tsirkin
2015-Mar-12 11:06 UTC
[PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
On Wed, Mar 11, 2015 at 02:19:03PM +0100, 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 at redhat.com> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > ---Rusty, pls note, if possible I'd like this one merged for 4.0 because it's important for QEMU (which now imports linux headers).> 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 { > -- > MST
Rusty Russell
2015-Mar-13 01:29 UTC
[PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
"Michael S. Tsirkin" <mst at redhat.com> writes:> On Wed, Mar 11, 2015 at 02:19:03PM +0100, 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 at redhat.com> >> Signed-off-by: Michael S. Tsirkin <mst at redhat.com> >> --- > > Rusty, pls note, if possible I'd like this one > merged for 4.0 because it's important for QEMU > (which now imports linux headers).OK, applied. Thanks, Rusty.> > >> 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 { >> -- >> MST
Possibly Parallel Threads
- [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
- [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
- [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
- [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size
- [PATCH] uapi/virtio_scsi: allow overriding CDB/SENSE size