Ah. From so metag is a new arch and not a compiler like the changelog says. On Mon, Jan 20, 2014 at 11:56:47AM +0000, James Hogan wrote: > struct a { > struct b { > unsigned int x; > unsigned short y; > } x; > unsigned short y; > } __packed; This is not the code we are discussing. It should look like: struct a { union { short x; short y; } short z; }; Any normal person would assume that sizeof(struct a) would be 4 but apparently on metag it is 8. That totally defeats the point of using a union in the first place. It's easy enough to add a __packed to the lustre declaration but I expect this to cause an endless stream of bugs. It it is really stupid. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-metag" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html