Re: [RFC] Normalizing byteorder/unaligned access API

From: Harvey Harrison
Date: Tue Oct 07 2008 - 19:40:12 EST


On Tue, 2008-10-07 at 17:33 -0600, Matthew Wilcox wrote:
> On Tue, Oct 07, 2008 at 03:39:25PM -0700, Harvey Harrison wrote:
> > As an example, in the write command handling in achba.c, a patch similar to the following
> > (assumes the existence of a __be24 type somewhere):
>
> What type could be defined to be '__be24'? Would
>
> typedef struct {
> unsigned char data[3];
> } __be24;

__packed

>
> do the trick? It's not an integral type, but I'm not sure if that matters.
>
> > + cmnd_lba = unaligned_be24_to_cpup(&tmp->lba) & 0x001FFFFF;
>
> That might be easier to read if you're using a 500-column terminal. For
> the rest of us,
> cmnd_lba = scsi_get_u24(cmnd + 2) & 0x1FFFFF;
> is much easier to read.

Suggestions welcome on shorter common names for the unaligned helpers.

Cheers,

Harvey



--
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/