Re: [Open-FCoE] [PATCH 1/3] 24-bit types: typedef and macros foraccessing 3-byte arrays as integers

From: Dave Kleikamp
Date: Wed Sep 10 2008 - 14:25:42 EST


On Wed, 2008-09-10 at 10:45 -0700, Chris Leech wrote:
> Chris Leech wrote:
> > Dave Kleikamp wrote:
> >> @@ -62,7 +60,7 @@ struct timestruc_t {
> >> */
> >> typedef struct {
> >> unsigned len:24;
> >> - unsigned off1:8;
> >> + u8 off1;
> >> u32 off2;
> >> } lxd_t;
> >
> > Shouldn't len here be changed to a __le24? I think this just changed
> > the size of lxd_t by a byte.
>
> Never mind, I see that it's a host order field. And presently surprised
> to see that gcc combines the 24-bit bitfield with the following u8.

Right. I just made a note to throw away this ridiculous structure and
replace it with something sane. It's only used in-memory and there's no
reason not to have an unsigned long long for offset, and an int for len.
This patch didn't seem to be the right place to fix that though.

--
David Kleikamp
IBM Linux Technology Center

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