Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2013-02-11 Thread James Hogan
Hi James, On 11/10/12 15:10, James Hogan wrote: On 11/10/12 13:58, James Bottomley wrote: On Thu, 2012-10-11 at 12:32 +0100, James Hogan wrote: On 11/10/12 11:24, James Bottomley wrote: On Thu, 2012-10-11 at 10:15 +0100, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be

[RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread James Hogan
The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers BUILD_BUG_ON compile errors in osd_initiator.c when the outer structs are unexpected sizes. This is

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread Bart Van Assche
On 10/11/12 11:15, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers BUILD_BUG_ON compile errors in osd_initiator.c when the outer

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread James Bottomley
On Thu, 2012-10-11 at 10:15 +0100, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers BUILD_BUG_ON compile errors in

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread James Hogan
On 11/10/12 11:01, Bart Van Assche wrote: On 10/11/12 11:15, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers BUILD_BUG_ON

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread James Hogan
On 11/10/12 11:24, James Bottomley wrote: On Thu, 2012-10-11 at 10:15 +0100, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread Alan Cox
The alignment is fine (the offset of the u16 is 8 bytes), but unfortunately with the metag port of gcc, sizeof(struct scsi_varlen_cdb_hdr) is rounded up to a 4 byte boundary (even though the largest data member alignment is only 2 bytes), which is 12 bytes instead of 10. That sounds

Re: [RESEND PATCH] scsi: make struct scsi_varlen_cdb_hdr packed

2012-10-11 Thread James Hogan
On 11/10/12 13:58, James Bottomley wrote: On Thu, 2012-10-11 at 12:32 +0100, James Hogan wrote: On 11/10/12 11:24, James Bottomley wrote: On Thu, 2012-10-11 at 10:15 +0100, James Hogan wrote: The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head,