@@ -2426,7 +2426,7 @@ enum llog_ctxt_id {
struct llog_logid {
struct ost_id lgl_oi;
__u32 lgl_ogen;
-} __packed;
+} __attribute__((packed));
/** Records written to the CATALOGS list */
#define CATLIST "CATALOGS"
@@ -2435,7 +2435,7 @@ struct llog_catid {
__u32 lci_padding1;
__u32 lci_padding2;
__u32 lci_padding3;
-} __packed;
+} __attribute__((packed));
/* Log data record types - there is no specific reason that these need to
* be related to the RPC opcodes, but no reason not to (may be handy later?)
@@ -2477,12 +2477,12 @@ struct llog_rec_hdr {
__u32 lrh_index;
__u32 lrh_type;
__u32 lrh_id;
-};
+} __attribute__((packed));
struct llog_rec_tail {
__u32 lrt_len;
__u32 lrt_index;
-};
+} __attribute__((packed));
/* Where data follow just after header */
#define REC_DATA(ptr) \
@@ -2499,7 +2499,7 @@ struct llog_logid_rec {
__u64 lid_padding2;
__u64 lid_padding3;
struct llog_rec_tail lid_tail;
-} __packed;
+} __attribute__((packed));
struct llog_unlink_rec {
struct llog_rec_hdr lur_hdr;
@@ -2507,7 +2507,7 @@ struct llog_unlink_rec {
__u32 lur_oseq;
__u32 lur_count;
struct llog_rec_tail lur_tail;
-} __packed;
+} __attribute__((packed));
struct llog_unlink64_rec {
struct llog_rec_hdr lur_hdr;
@@ -2517,7 +2517,7 @@ struct llog_unlink64_rec {
__u64 lur_padding2;
__u64 lur_padding3;
struct llog_rec_tail lur_tail;
-} __packed;
+} __attribute__((packed));
struct llog_setattr64_rec {
struct llog_rec_hdr lsr_hdr;
@@ -2528,7 +2528,7 @@ struct llog_setattr64_rec {
__u32 lsr_gid_h;
__u64 lsr_valid;
struct llog_rec_tail lsr_tail;
-} __packed;
+} __attribute__((packed));
struct llog_size_change_rec {
struct llog_rec_hdr lsc_hdr;
@@ -2538,7 +2538,7 @@ struct llog_size_change_rec {
__u64 lsc_padding2;
__u64 lsc_padding3;
struct llog_rec_tail lsc_tail;
-} __packed;
+} __attribute__((packed));
/* changelog llog name, needed by client replicators */
#define CHANGELOG_CATALOG "changelog_catalog"
@@ -2546,14 +2546,14 @@ struct llog_size_change_rec {
struct changelog_setinfo {
__u64 cs_recno;
__u32 cs_id;
-} __packed;
+} __attribute__((packed));
/** changelog record */
struct llog_changelog_rec {
struct llog_rec_hdr cr_hdr;
struct changelog_rec cr; /**< Variable length field */
struct llog_rec_tail cr_do_not_use; /**< for_sizezof_only */
-} __packed;
+} __attribute__((packed));
struct llog_changelog_user_rec {
struct llog_rec_hdr cur_hdr;
@@ -2561,7 +2561,7 @@ struct llog_changelog_user_rec {
__u32 cur_padding;
__u64 cur_endrec;
struct llog_rec_tail cur_tail;
-} __packed;
+} __attribute__((packed));
enum agent_req_status {
ARS_WAITING,
@@ -2602,13 +2602,13 @@ struct llog_agent_req_rec {
__u64 arr_req_change; /**< req. status change time */
struct hsm_action_item arr_hai; /**< req. to the agent */
struct llog_rec_tail arr_tail; /**< record tail for_sizezof_only */
-} __packed;
+} __attribute__((packed));
/* Old llog gen for compatibility */
struct llog_gen {
__u64 mnt_cnt;
__u64 conn_cnt;
-} __packed;
+} __attribute__((packed));
struct llog_gen_rec {
struct llog_rec_hdr lgr_hdr;
@@ -2679,7 +2679,7 @@ struct llog_log_hdr {
*/
__u32 llh_bitmap[LLOG_BITMAP_BYTES / sizeof(__u32)];
struct llog_rec_tail llh_tail;
-} __packed;
+} __attribute__((packed));
#undef LLOG_HEADER_SIZE
#undef LLOG_BITMAP_BYTES
@@ -2701,7 +2701,7 @@ struct llog_cookie {
__u32 lgc_subsys;
__u32 lgc_index;
__u32 lgc_padding;
-} __packed;
+} __attribute__((packed));
/** llog protocol */
enum llogd_rpc_ops {
@@ -2726,13 +2726,13 @@ struct llogd_body {
__u32 lgd_saved_index;
__u32 lgd_len;
__u64 lgd_cur_offset;
-} __packed;
+} __attribute__((packed));
struct llogd_conn_body {
struct llog_gen lgdc_gen;
struct llog_logid lgdc_logid;
__u32 lgdc_ctxt_idx;
-} __packed;
+} __attribute__((packed));
/* Note: 64-bit types are 64-bit aligned in structure */
struct obdo {
@@ -2832,7 +2832,7 @@ struct lustre_capa {
/* FIXME: y2038 time_t overflow: */
__u32 lc_expiry; /** expiry time (sec) */
__u8 lc_hmac[CAPA_HMAC_MAX_LEN]; /** HMAC */
-} __packed;
+} __attribute__((packed));
/** lustre_capa::lc_opc */
enum {
@@ -2864,7 +2864,7 @@ struct lustre_capa_key {
__u32 lk_keyid; /**< key# */
__u32 lk_padding;
__u8 lk_key[CAPA_HMAC_KEY_MAX_LEN]; /**< key */
-} __packed;
+} __attribute__((packed));
/** The link ea holds 1 @link_ea_entry for each hardlink */
#define LINK_EA_MAGIC 0x11EAF1DFUL
@@ -2884,7 +2884,7 @@ struct link_ea_entry {
unsigned char lee_reclen[2];
unsigned char lee_parent_fid[sizeof(struct lu_fid)];
char lee_name[0];
-} __packed;
+} __attribute__((packed));
/** fid2path request/reply structure */
struct getinfo_fid2path {
@@ -2896,7 +2896,7 @@ struct getinfo_fid2path {
char gf_path[0];
struct lu_fid gf_root_fid[0];
};
-} __packed;
+} __attribute__((packed));
/** path2parent request/reply structures */
struct getparent {
@@ -2904,7 +2904,7 @@ struct getparent {
__u32 gp_linkno; /**< hardlink number */
__u32 gp_name_size; /**< size of the name field */
char gp_name[0]; /**< zero-terminated link name */
-} __packed;
+} __attribute__((packed));
enum layout_intent_opc {
LAYOUT_INTENT_ACCESS = 0, /** generic access */
@@ -2921,7 +2921,7 @@ struct layout_intent {
__u32 li_opc; /* intent operation for enqueue, read, write etc */
__u32 li_flags;
struct lu_extent li_extent;
-} __packed;
+} __attribute__((packed));
/**
* On the wire version of hsm_progress structure.
@@ -2939,20 +2939,20 @@ struct hsm_progress_kernel {
/* Additional fields */
__u64 hpk_data_version;
__u64 hpk_padding2;
-} __packed;
+} __attribute__((packed));
/** layout swap request structure
* fid1 and fid2 are in mdt_body
*/
struct mdc_swap_layouts {
__u64 msl_flags;
-} __packed;
+} __attribute__((packed));
#define INLINE_RESYNC_ARRAY_SIZE 15
struct close_data_resync_done {
__u32 resync_count;
__u32 resync_ids_inline[INLINE_RESYNC_ARRAY_SIZE];
-};
+} __attribute__((packed));
struct close_data {
struct lustre_handle cd_handle;
@@ -157,7 +157,7 @@ struct lu_fid {
* used.
**/
__u32 f_ver;
-};
+} __attribute__((packed));
static inline bool fid_is_zero(const struct lu_fid *fid)
{
@@ -176,7 +176,7 @@ struct ost_layout {
__u64 ol_comp_start;
__u64 ol_comp_end;
__u32 ol_comp_id;
-} __packed;
+} __attribute__((packed));
/* Userspace should treat lu_fid as opaque, and only use the following methods
* to print or parse them. Other functions (e.g. compare, swab) could be moved
@@ -245,7 +245,7 @@ struct ost_id {
} oi;
struct lu_fid oi_fid;
};
-};
+} __attribute__((packed));
#define DOSTID "%#llx:%llu"
#define POSTID(oi) ostid_seq(oi), ostid_id(oi)
@@ -462,7 +462,7 @@ struct lov_user_ost_data_v1 { /* per-stripe data structure */
struct ost_id l_ost_oi; /* OST object ID */
__u32 l_ost_gen; /* generation of this OST index */
__u32 l_ost_idx; /* OST index in LOV */
-} __packed;
+} __attribute__((packed));
#define lov_user_md lov_user_md_v1
struct lov_user_md_v1 { /* LOV EA user data (host-endian) */
@@ -480,7 +480,7 @@ struct lov_user_md_v1 { /* LOV EA user data (host-endian) */
*/
};
struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
-} __attribute__((packed, __may_alias__));
+} __attribute__((packed, __may_alias__));
struct lov_user_md_v3 { /* LOV EA user data (host-endian) */
__u32 lmm_magic; /* magic number = LOV_USER_MAGIC_V3 */
@@ -498,7 +498,7 @@ struct lov_user_md_v3 { /* LOV EA user data (host-endian) */
};
char lmm_pool_name[LOV_MAXPOOLNAME + 1]; /* pool name */
struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
-} __packed;
+} __attribute__((packed, __may_alias__));
struct lov_foreign_md {
__u32 lfm_magic; /* magic number = LOV_MAGIC_FOREIGN */
@@ -506,7 +506,7 @@ struct lov_foreign_md {
__u32 lfm_type; /* type, see LU_FOREIGN_TYPE_ */
__u32 lfm_flags; /* flags, type specific */
char lfm_value[];
-};
+} __attribute__((packed));
#define foreign_size(lfm) (((struct lov_foreign_md *)lfm)->lfm_length + \
offsetof(struct lov_foreign_md, lfm_value))
@@ -518,7 +518,7 @@ struct lov_foreign_md {
struct lu_extent {
__u64 e_start;
__u64 e_end;
-};
+} __attribute__((packed));
#define DEXT "[%#llx, %#llx)"
#define PEXT(ext) (unsigned long long)(ext)->e_start, (unsigned long long)(ext)->e_end
@@ -583,7 +583,7 @@ struct lov_comp_md_entry_v1 {
__u32 lcme_layout_gen;
__u64 lcme_timestamp; /* snapshot time if applicable*/
__u32 lcme_padding_1;
-} __packed;
+} __attribute__((packed));
#define SEQ_ID_MAX 0x0000FFFF
#define SEQ_ID_MASK SEQ_ID_MAX
@@ -626,7 +626,7 @@ struct lov_comp_md_v1 {
__u16 lcm_padding1[3];
__u64 lcm_padding2;
struct lov_comp_md_entry_v1 lcm_entries[0];
-} __packed;
+} __attribute__((packed));
static inline __u32 lov_user_md_size(__u16 stripes, __u32 lmm_magic)
{
@@ -649,7 +649,7 @@ static inline __u32 lov_user_md_size(__u16 stripes, __u32 lmm_magic)
struct lov_user_mds_data_v1 {
lstat_t lmd_st; /* MDS stat struct */
struct lov_user_md_v1 lmd_lmm; /* LOV EA V1 user data */
-} __packed;
+} __attribute__((packed));
struct lov_user_mds_data_v2 {
struct lu_fid lmd_fid; /* Lustre FID */
@@ -663,14 +663,14 @@ struct lov_user_mds_data_v2 {
struct lov_user_mds_data_v3 {
lstat_t lmd_st; /* MDS stat struct */
struct lov_user_md_v3 lmd_lmm; /* LOV EA V3 user data */
-} __packed;
+} __attribute__((packed));
#endif
struct lmv_user_mds_data {
struct lu_fid lum_fid;
__u32 lum_padding;
__u32 lum_mds;
-};
+} __attribute__((packed, __may_alias__));
enum lmv_hash_type {
LMV_HASH_TYPE_UNKNOWN = 0, /* 0 is reserved for testing purpose */
@@ -743,7 +743,7 @@ struct lmv_user_md_v1 {
__u32 lum_padding3;
char lum_pool_name[LOV_MAXPOOLNAME + 1];
struct lmv_user_mds_data lum_objects[0];
-} __packed;
+} __attribute__((packed));
static inline __u32 lmv_foreign_to_md_stripes(__u32 size)
{
@@ -1315,8 +1315,8 @@ struct changelog_rec {
struct lu_fid cr_tfid; /**< target fid */
__u32 cr_markerflags; /**< CL_MARK flags */
};
- struct lu_fid cr_pfid; /**< parent fid */
-} __packed;
+ struct lu_fid cr_pfid; /**< parent fid */
+} __attribute__((packed));
/* Changelog extension for RENAME. */
struct changelog_ext_rename {
@@ -1758,7 +1758,7 @@ enum hsm_states {
struct hsm_extent {
__u64 offset;
__u64 length;
-} __packed;
+} __attribute__((packed));
/**
* Current HSM states of a Lustre file.
@@ -1842,7 +1842,7 @@ struct hsm_request {
struct hsm_user_item {
struct lu_fid hui_fid;
struct hsm_extent hui_extent;
-} __packed;
+} __attribute__((packed));
struct hsm_user_request {
struct hsm_request hur_request;
@@ -1850,7 +1850,7 @@ struct hsm_user_request {
/* extra data blob at end of struct (after all
* hur_user_items), only use helpers to access it
*/
-} __packed;
+} __attribute__((packed));
/** Return pointer to data field in a hsm user request */
static inline void *hur_data(struct hsm_user_request *hur)
@@ -1916,7 +1916,7 @@ struct hsm_action_item {
__u64 hai_cookie; /* action cookie from coordinator */
__u64 hai_gid; /* grouplock id */
char hai_data[0]; /* variable length */
-} __packed;
+} __attribute__((packed));
/*
* helper function which print in hexa the first bytes of
@@ -1960,7 +1960,7 @@ struct hsm_action_list {
/* struct hsm_action_item[hal_count] follows, aligned on 8-byte
* boundaries. See hai_first
*/
-} __packed;
+} __attribute__((packed));
/* Return pointer to first hai in action list */
static inline struct hsm_action_item *hai_first(struct hsm_action_list *hal)