From: chetan loke <redacted>
Date: Wed, 6 Jul 2011 17:45:20 -0400
new format:
union bd_header_u {
/* renamed struct bd_v1 to hdr_v1 */
struct hdr_v1 h1;
} __attribute__ ((__packed__));
struct block_desc {
__u16 version;
__u16 offset_to_priv;
union bd_header_u hdr;
} __attribute__ ((__packed__));
Is this ok with you?
Get rid of __packed__, it's going to kill performance on RISC
platforms. If you use __packed__, regardless of the actual alignment,
the compiler must assume that each part of the struct "might" be
unaligned. So on architectures such as sparc where alignment matters,
a word is going to be accessed by a sequence of byte loads/stores.
Do not use packed unless absolutely enforced by a protocol or hardware
data structure, it's evil.