__u64 kshm_dst_incarnation; /* destination's incarnation */
__u32 kshm_ctype; /* SOCKLND_CONN_* */
__u32 kshm_nips; /* always sent as zero */
- __u32 kshm_ips[0]; /* deprecated */
+ __u32 kshm_ips[]; /* deprecated */
} __packed;
struct ksock_hello_msg_nid4 {
__u64 kshm_dst_incarnation; /* destination's incarnation */
__u32 kshm_ctype; /* SOCKLND_CONN_* */
__u32 kshm_nips; /* sent as zero */
- __u32 kshm_ips[0]; /* deprecated */
+ __u32 kshm_ips[]; /* deprecated */
} __packed;
struct ksock_msg_hdr {
struct lnet_hdr_nid4 hdr;
/* Entire LNet message payload. */
- char payload[0];
+ char payload[];
} __packed;
/* Bulk request message header. */
struct kib_immediate_msg {
struct lnet_hdr_nid4 ibim_hdr; /* portals header */
- char ibim_payload[0];/* piggy-backed payload */
+ char ibim_payload[]; /* piggy-backed payload */
} __packed;
struct kib_rdma_frag {
struct kib_rdma_desc {
u32 rd_key; /* local/remote key */
u32 rd_nfrags; /* # fragments */
- struct kib_rdma_frag rd_frags[0]; /* buffer frags */
+ struct kib_rdma_frag rd_frags[]; /* buffer frags */
} __packed;
struct kib_putreq_msg {
BUILD_BUG_ON((int)offsetof(struct kib_immediate_msg, ibim_hdr) != 0);
BUILD_BUG_ON((int)sizeof(((struct kib_immediate_msg *)0)->ibim_hdr) != 72);
BUILD_BUG_ON((int)offsetof(struct kib_immediate_msg, ibim_payload) != 72);
- BUILD_BUG_ON((int)sizeof(((struct kib_immediate_msg *)0)->ibim_payload) != 0);
+ BUILD_BUG_ON((int)sizeof(*((struct kib_immediate_msg *)0)->ibim_payload) != 1);
BUILD_BUG_ON((int)sizeof(struct kib_rdma_frag) != 12);
BUILD_BUG_ON((int)offsetof(struct kib_rdma_frag, rf_nob) != 0);
BUILD_BUG_ON((int)offsetof(struct kib_rdma_desc, rd_nfrags) != 4);
BUILD_BUG_ON((int)sizeof(((struct kib_rdma_desc *)0)->rd_nfrags) != 4);
BUILD_BUG_ON((int)offsetof(struct kib_rdma_desc, rd_frags) != 8);
- BUILD_BUG_ON((int)sizeof(((struct kib_rdma_desc *)0)->rd_frags) != 0);
+ BUILD_BUG_ON((int)sizeof(*((struct kib_rdma_desc *)0)->rd_frags) != 12);
BUILD_BUG_ON((int)sizeof(struct kib_putreq_msg) != 80);
BUILD_BUG_ON((int)offsetof(struct kib_putreq_msg, ibprm_hdr) != 0);
BUILD_BUG_ON((int)offsetof(struct kib_msg, ibm_u.immediate.ibim_hdr) != 48);
BUILD_BUG_ON((int)sizeof(((struct kib_msg *)0)->ibm_u.immediate.ibim_hdr) != 72);
BUILD_BUG_ON((int)offsetof(struct kib_msg, ibm_u.immediate.ibim_payload) != 120);
- BUILD_BUG_ON((int)sizeof(((struct kib_msg *)0)->ibm_u.immediate.ibim_payload) != 0);
+ BUILD_BUG_ON((int)sizeof(*((struct kib_msg *)0)->ibm_u.immediate.ibim_payload) != 1);
/* PUT req message */
BUILD_BUG_ON((int)offsetof(struct kib_msg, ibm_u.putreq.ibprm_hdr) != 48);
__u32 lmm_stripe_size;
__u16 lmm_stripe_count;
__u16 lmm_stripe_offset;
- struct lov_user_ost_data_v1 lmm_objects[0];
+ struct lov_user_ost_data_v1 lmm_objects[];
} __attribute__((packed));
struct lov_user_md_v3 {
__u16 lmm_stripe_count;
__u16 lmm_stripe_offset;
char lmm_pool_name[LOV_MAXPOOLNAME + 1];
- struct lov_user_ost_data_v1 lmm_objects[0];
+ struct lov_user_ost_data_v1 lmm_objects[];
} __attribute__((packed));
.fi
__u64 hal_flags;
__u32 hal_archive_id; /* which archive backend */
__u32 padding1;
- char hal_fsname[0]; /* null\-terminated name of filesystem */
+ char hal_fsname[]; /* null\-terminated name of filesystem */
};
struct hsm_action_item {
struct hsm_extent hai_extent; /* byte range to operate on */
__u64 hai_cookie; /* action cookie from coordinator */
__u64 hai_gid; /* grouplock id */
- char hai_data[0]; /* variable length */
+ char hai_data[]; /* variable length */
};
.ft P
.fi
struct kkuc_ct_data {
__u32 kcd_magic;
__u32 kcd_nr_archives;
- __u32 kcd_archives[0];
+ __u32 kcd_archives[];
};
/** @} export */
/* sid_val contains in_handle, in_token,
* out_handle, out_token
*/
- char sid_val[0];
+ char sid_val[];
};
#define RSC_DOWNCALL_MAGIC 0x6d6dd62b
__u32 scd_len;
__u32 scd_padding;
/* scd_val contains handle and context token */
- char scd_val[0];
+ char scd_val[];
};
/*
__u64 ldp_hash_end;
__u32 ldp_flags;
__u32 ldp_pad0;
- struct lu_dirent ldp_entries[0];
+ struct lu_dirent ldp_entries[];
};
enum lu_dirpage_flags {
/* lmm_stripe_count used to be __u32 */
__u16 lmm_stripe_count; /* num stripes in use for this object */
__u16 lmm_layout_gen; /* layout generation number */
- struct lov_ost_data_v1 lmm_objects[0]; /* per-stripe data */
+ struct lov_ost_data_v1 lmm_objects[]; /* per-stripe data */
};
#define MAX_MD_SIZE_OLD (sizeof(struct lov_mds_md) + \
__u16 lmm_stripe_count; /* num stripes in use for this object */
__u16 lmm_layout_gen; /* layout generation number */
char lmm_pool_name[LOV_MAXPOOLNAME + 1]; /* must be 32bit aligned */
- struct lov_ost_data_v1 lmm_objects[0]; /* per-stripe data */
+ struct lov_ost_data_v1 lmm_objects[]; /* per-stripe data */
};
static inline __u32 lov_mds_md_size(__u16 stripes, __u32 lmm_magic)
struct link_ea_entry {
unsigned char lee_reclen[2]; /* __u16 big-endian, unaligned */
unsigned char lee_parent_fid[sizeof(struct lu_fid)];
- char lee_name[0];
+ char lee_name[];
} __attribute__((packed));
/** fid2path request/reply structure */
} __attribute__((packed));
struct update_ops {
- struct update_op uops_op[0];
+ DECLARE_FLEX_ARRAY(struct update_op, uops_op);
};
struct update_params {
- struct object_update_param up_params[0];
+ DECLARE_FLEX_ARRAY(struct object_update_param, up_params);
};
enum update_records_flag {
*/
typedef struct netobj_s {
__u32 len;
- __u8 data[0];
+ __u8 data[];
} netobj_t;
typedef struct rawobj_s {
__u32 lah_value1; /* unused */
__u32 lah_value2; /* unused */
__u64 lah_value3; /* unused */
- struct lu_ladvise lah_advise[0]; /* advices in this header */
+ struct lu_ladvise lah_advise[]; /* advices in this header */
};
#if defined(__cplusplus)
__u32 lk_group;
__u32 lk_data_count;
__u32 lk_flags;
- __u32 lk_data[0];
+ __u32 lk_data[];
} __attribute__((packed));
#endif /* __UAPI_KERNELCOMM_H__ */
__u32 lil_mode;
__u32 lil_flags;
__u32 lil_count;
- __u32 lil_ids[0];
+ __u32 lil_ids[];
};
struct ll_ioc_lease_id {
__u16 lil_mirror_id;
__u16 lil_padding1;
__u64 lil_padding2;
- __u32 lil_ids[0];
+ __u32 lil_ids[];
};
/*
* used when reading
*/
};
- struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
+ struct lov_user_ost_data_v1 lmm_objects[]; /* per-stripe data */
} __attribute__((packed, __may_alias__));
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 */
+ struct lov_user_ost_data_v1 lmm_objects[]; /* per-stripe data */
} __attribute__((packed, __may_alias__));
struct lov_foreign_md {
struct hsm_user_request {
struct hsm_request hur_request;
- struct hsm_user_item hur_user_item[0];
+ struct hsm_user_item hur_user_item[];
/* extra data blob at end of struct (after all
* hur_user_items), only use helpers to access it
*/
struct hsm_extent hai_extent; /* byte range to operate on */
__u64 hai_cookie; /* action cookie from coordinator */
__u64 hai_gid; /* grouplock id */
- char hai_data[0]; /* variable length */
+ char hai_data[]; /* variable length */
} __attribute__((packed));
/**
__u32 lah_value1; /* unused */
__u32 lah_value2; /* unused */
__u64 lah_value3; /* unused */
- struct llapi_lu_ladvise lah_advise[0]; /* advices in this header */
+ struct llapi_lu_ladvise lah_advise[]; /* advices in this header */
};
#define LAH_COUNT_MAX (1024)
__swab64s(&arr->arr_hai.hai_gid);
/*
* no swabing for opaque data
- * hai_data[0];
+ * hai_data[];
*/
break;
}
unsigned short oxe_exist:1,
oxe_ready:1,
oxe_largebuf:1;
- char oxe_name[0];
+ char oxe_name[];
};
/* this is a top object */
(long long)(int)sizeof(((struct ladvise_hdr *)0)->lah_value3));
LASSERTF((int)offsetof(struct ladvise_hdr, lah_advise) == 32, "found %lld\n",
(long long)(int)offsetof(struct ladvise_hdr, lah_advise));
- LASSERTF((int)sizeof(((struct ladvise_hdr *)0)->lah_advise) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct ladvise_hdr *)0)->lah_advise));
+ LASSERTF((int)sizeof(*((struct ladvise_hdr *)0)->lah_advise) == 32, "found %lld\n",
+ (long long)(int)sizeof(*((struct ladvise_hdr *)0)->lah_advise));
BUILD_BUG_ON(LF_ASYNC != 0x00000001);
BUILD_BUG_ON(LF_UNSET != 0x00000002);
BUILD_BUG_ON(LADVISE_MAGIC != 0x1adf1ce0);
(long long)(int)sizeof(((struct rsi_downcall_data *)0)->sid_hash));
LASSERTF((int)offsetof(struct rsi_downcall_data, sid_val) == 40, "found %lld\n",
(long long)(int)offsetof(struct rsi_downcall_data, sid_val));
- LASSERTF((int)sizeof(((struct rsi_downcall_data *)0)->sid_val) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct rsi_downcall_data *)0)->sid_val));
+ LASSERTF((int)sizeof(*((struct rsi_downcall_data *)0)->sid_val) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct rsi_downcall_data *)0)->sid_val));
/* Checks for struct rsc_downcall_data */
LASSERTF((int)sizeof(struct rsc_downcall_data) == 48, "found %lld\n",
(long long)(int)sizeof(((struct rsc_downcall_data *)0)->scd_padding));
LASSERTF((int)offsetof(struct rsc_downcall_data, scd_val) == 48, "found %lld\n",
(long long)(int)offsetof(struct rsc_downcall_data, scd_val));
- LASSERTF((int)sizeof(((struct rsc_downcall_data *)0)->scd_val) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct rsc_downcall_data *)0)->scd_val));
+ LASSERTF((int)sizeof(*((struct rsc_downcall_data *)0)->scd_val) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct rsc_downcall_data *)0)->scd_val));
LASSERTF(RSC_DATA_FLAG_REMOTE == 0x00000001UL, "found 0x%.8xUL\n",
(unsigned)RSC_DATA_FLAG_REMOTE);
LASSERTF(RSC_DATA_FLAG_ROOT == 0x00000002UL, "found 0x%.8xUL\n",
(long long)(int)sizeof(((struct link_ea_entry *)0)->lee_parent_fid));
LASSERTF((int)offsetof(struct link_ea_entry, lee_name) == 18, "found %lld\n",
(long long)(int)offsetof(struct link_ea_entry, lee_name));
- LASSERTF((int)sizeof(((struct link_ea_entry *)0)->lee_name) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct link_ea_entry *)0)->lee_name));
+ LASSERTF((int)sizeof(*((struct link_ea_entry *)0)->lee_name) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct link_ea_entry *)0)->lee_name));
/* Checks for struct layout_intent */
LASSERTF((int)sizeof(struct layout_intent) == 24, "found %lld\n",
(long long)(int)sizeof(((struct hsm_action_item *)0)->hai_gid));
LASSERTF((int)offsetof(struct hsm_action_item, hai_data) == 72, "found %lld\n",
(long long)(int)offsetof(struct hsm_action_item, hai_data));
- LASSERTF((int)sizeof(((struct hsm_action_item *)0)->hai_data) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct hsm_action_item *)0)->hai_data));
+ LASSERTF((int)sizeof(*((struct hsm_action_item *)0)->hai_data) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct hsm_action_item *)0)->hai_data));
/* Checks for struct hsm_action_list */
LASSERTF((int)sizeof(struct hsm_action_list) == 32, "found %lld\n",
(long long)(int)sizeof(((struct hsm_user_request *)0)->hur_request));
LASSERTF((int)offsetof(struct hsm_user_request, hur_user_item) == 24, "found %lld\n",
(long long)(int)offsetof(struct hsm_user_request, hur_user_item));
- LASSERTF((int)sizeof(((struct hsm_user_request *)0)->hur_user_item) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct hsm_user_request *)0)->hur_user_item));
+ LASSERTF((int)sizeof(*((struct hsm_user_request *)0)->hur_user_item) == 32, "found %lld\n",
+ (long long)(int)sizeof(*((struct hsm_user_request *)0)->hur_user_item));
/* Checks for struct hsm_user_import */
LASSERTF((int)sizeof(struct hsm_user_import) == 48, "found %lld\n",
(long long)(int)sizeof(((struct netobj_s *)0)->len));
LASSERTF((int)offsetof(struct netobj_s, data) == 4, "found %lld\n",
(long long)(int)offsetof(struct netobj_s, data));
- LASSERTF((int)sizeof(((struct netobj_s *)0)->data) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct netobj_s *)0)->data));
+ LASSERTF((int)sizeof(*((struct netobj_s *)0)->data) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct netobj_s *)0)->data));
/* Checks for struct rawobj_s */
LASSERTF((int)sizeof(struct rawobj_s) == 16, "found %lld\n",
(long long)(int)sizeof(struct update_params));
LASSERTF((int)offsetof(struct update_params, up_params) == 0, "found %lld\n",
(long long)(int)offsetof(struct update_params, up_params));
- LASSERTF((int)sizeof(((struct update_params *)0)->up_params) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct update_params *)0)->up_params));
+ LASSERTF((int)sizeof(*((struct update_params *)0)->up_params) == 8, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_params *)0)->up_params));
/* Checks for struct update_op */
LASSERTF((int)sizeof(struct update_op) == 20, "found %lld\n",
(long long)(int)sizeof(((struct update_op *)0)->uop_param_count));
LASSERTF((int)offsetof(struct update_op, uop_params_off) == 20, "found %lld\n",
(long long)(int)offsetof(struct update_op, uop_params_off));
+ LASSERTF((int)sizeof(*((struct update_op *)0)->uop_params_off) == 2, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_op *)0)->uop_params_off));
/* Checks for struct update_ops */
LASSERTF((int)sizeof(struct update_ops) == 0, "found %lld\n",
(long long)(int)sizeof(struct update_ops));
LASSERTF((int)offsetof(struct update_ops, uops_op) == 0, "found %lld\n",
(long long)(int)offsetof(struct update_ops, uops_op));
- LASSERTF((int)sizeof(((struct update_ops *)0)->uops_op) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct update_ops *)0)->uops_op));
+ LASSERTF((int)sizeof(*((struct update_ops *)0)->uops_op) == 20, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_ops *)0)->uops_op));
/* Checks for struct update_records */
LASSERTF((int)sizeof(struct update_records) == 32, "found %lld\n",
CHECK_VALUE((int)sizeof(((s *)0)->m)); \
} while(0)
+#define CHECK_MEMBER_SIZEOF_ARRAY_ELEMENT_TYPEDEF(s, m) \
+do { \
+ CHECK_VALUE((int)sizeof(*((s *)0)->m)); \
+} while (0)
+
#define CHECK_MEMBER_IS_FLEXIBLE(s, m) \
do { \
CHECK_MEMBER_OFFSET(s, m); \
CHECK_MEMBER_SIZEOF_TYPEDEF(s, m); \
} while(0)
+#define CHECK_MEMBER_IS_FLEXIBLE_TYPEDEF(s, m) \
+do { \
+ CHECK_MEMBER_OFFSET_TYPEDEF(s, m); \
+ CHECK_MEMBER_SIZEOF_ARRAY_ELEMENT_TYPEDEF(s, m); \
+} while (0)
+
#define CHECK_STRUCT(s) \
do { \
COMMENT("Checks for struct "#s); \
CHECK_MEMBER(ladvise_hdr, lah_value1);
CHECK_MEMBER(ladvise_hdr, lah_value2);
CHECK_MEMBER(ladvise_hdr, lah_value3);
- CHECK_MEMBER(ladvise_hdr, lah_advise);
+ CHECK_MEMBER_IS_FLEXIBLE(ladvise_hdr, lah_advise);
CHECK_CVALUE_X(LF_ASYNC);
CHECK_CVALUE_X(LF_UNSET);
CHECK_MEMBER(rsi_downcall_data, sid_len);
CHECK_MEMBER(rsi_downcall_data, sid_offset);
CHECK_MEMBER(rsi_downcall_data, sid_hash);
- CHECK_MEMBER(rsi_downcall_data, sid_val);
+ CHECK_MEMBER_IS_FLEXIBLE(rsi_downcall_data, sid_val);
}
static void
CHECK_MEMBER(rsc_downcall_data, scd_offset);
CHECK_MEMBER(rsc_downcall_data, scd_len);
CHECK_MEMBER(rsc_downcall_data, scd_padding);
- CHECK_MEMBER(rsc_downcall_data, scd_val);
+ CHECK_MEMBER_IS_FLEXIBLE(rsc_downcall_data, scd_val);
CHECK_VALUE_X(RSC_DATA_FLAG_REMOTE);
CHECK_VALUE_X(RSC_DATA_FLAG_ROOT);
typedef struct {
__u32 a_version;
- posix_acl_xattr_entry a_entries[0];
+ posix_acl_xattr_entry a_entries[];
} posix_acl_xattr_header;
static void
CHECK_STRUCT_TYPEDEF(posix_acl_xattr_header);
CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_version);
printf("#ifndef HAVE_STRUCT_POSIX_ACL_XATTR\n");
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_entries);
+ CHECK_MEMBER_IS_FLEXIBLE_TYPEDEF(posix_acl_xattr_header, a_entries);
printf("#endif /* HAVE_STRUCT_POSIX_ACL_XATTR */\n");
printf("#endif /* CONFIG_FS_POSIX_ACL */\n");
}
CHECK_STRUCT(link_ea_entry);
CHECK_MEMBER(link_ea_entry, lee_reclen);
CHECK_MEMBER(link_ea_entry, lee_parent_fid);
- CHECK_MEMBER(link_ea_entry, lee_name);
+ CHECK_MEMBER_IS_FLEXIBLE(link_ea_entry, lee_name);
}
static void
CHECK_MEMBER(hsm_action_item, hai_extent);
CHECK_MEMBER(hsm_action_item, hai_cookie);
CHECK_MEMBER(hsm_action_item, hai_gid);
- CHECK_MEMBER(hsm_action_item, hai_data);
+ CHECK_MEMBER_IS_FLEXIBLE(hsm_action_item, hai_data);
}
static void
BLANK_LINE();
CHECK_STRUCT(hsm_user_request);
CHECK_MEMBER(hsm_user_request, hur_request);
- CHECK_MEMBER(hsm_user_request, hur_user_item);
+ CHECK_MEMBER_IS_FLEXIBLE(hsm_user_request, hur_user_item);
}
static void check_hsm_user_import(void)
BLANK_LINE();
CHECK_STRUCT(netobj_s);
CHECK_MEMBER(netobj_s, len);
- CHECK_MEMBER(netobj_s, data);
+ CHECK_MEMBER_IS_FLEXIBLE(netobj_s, data);
}
static void check_rawobj_s(void)
{
BLANK_LINE();
CHECK_STRUCT(update_params);
- CHECK_MEMBER(update_params, up_params);
+ CHECK_MEMBER_IS_FLEXIBLE(update_params, up_params);
}
static void check_update_op(void)
{
BLANK_LINE();
CHECK_STRUCT(update_ops);
- CHECK_MEMBER(update_ops, uops_op);
+ CHECK_MEMBER_IS_FLEXIBLE(update_ops, uops_op);
}
static void check_update_records(void)
(long long)(int)sizeof(((struct ladvise_hdr *)0)->lah_value3));
LASSERTF((int)offsetof(struct ladvise_hdr, lah_advise) == 32, "found %lld\n",
(long long)(int)offsetof(struct ladvise_hdr, lah_advise));
- LASSERTF((int)sizeof(((struct ladvise_hdr *)0)->lah_advise) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct ladvise_hdr *)0)->lah_advise));
+ LASSERTF((int)sizeof(*((struct ladvise_hdr *)0)->lah_advise) == 32, "found %lld\n",
+ (long long)(int)sizeof(*((struct ladvise_hdr *)0)->lah_advise));
BUILD_BUG_ON(LF_ASYNC != 0x00000001);
BUILD_BUG_ON(LF_UNSET != 0x00000002);
BUILD_BUG_ON(LADVISE_MAGIC != 0x1adf1ce0);
(long long)(int)sizeof(((struct rsi_downcall_data *)0)->sid_hash));
LASSERTF((int)offsetof(struct rsi_downcall_data, sid_val) == 40, "found %lld\n",
(long long)(int)offsetof(struct rsi_downcall_data, sid_val));
- LASSERTF((int)sizeof(((struct rsi_downcall_data *)0)->sid_val) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct rsi_downcall_data *)0)->sid_val));
+ LASSERTF((int)sizeof(*((struct rsi_downcall_data *)0)->sid_val) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct rsi_downcall_data *)0)->sid_val));
/* Checks for struct rsc_downcall_data */
LASSERTF((int)sizeof(struct rsc_downcall_data) == 48, "found %lld\n",
(long long)(int)sizeof(((struct rsc_downcall_data *)0)->scd_padding));
LASSERTF((int)offsetof(struct rsc_downcall_data, scd_val) == 48, "found %lld\n",
(long long)(int)offsetof(struct rsc_downcall_data, scd_val));
- LASSERTF((int)sizeof(((struct rsc_downcall_data *)0)->scd_val) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct rsc_downcall_data *)0)->scd_val));
+ LASSERTF((int)sizeof(*((struct rsc_downcall_data *)0)->scd_val) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct rsc_downcall_data *)0)->scd_val));
LASSERTF(RSC_DATA_FLAG_REMOTE == 0x00000001UL, "found 0x%.8xUL\n",
(unsigned)RSC_DATA_FLAG_REMOTE);
LASSERTF(RSC_DATA_FLAG_ROOT == 0x00000002UL, "found 0x%.8xUL\n",
(long long)(int)sizeof(((struct link_ea_entry *)0)->lee_parent_fid));
LASSERTF((int)offsetof(struct link_ea_entry, lee_name) == 18, "found %lld\n",
(long long)(int)offsetof(struct link_ea_entry, lee_name));
- LASSERTF((int)sizeof(((struct link_ea_entry *)0)->lee_name) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct link_ea_entry *)0)->lee_name));
+ LASSERTF((int)sizeof(*((struct link_ea_entry *)0)->lee_name) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct link_ea_entry *)0)->lee_name));
/* Checks for struct layout_intent */
LASSERTF((int)sizeof(struct layout_intent) == 24, "found %lld\n",
(long long)(int)sizeof(((struct hsm_action_item *)0)->hai_gid));
LASSERTF((int)offsetof(struct hsm_action_item, hai_data) == 72, "found %lld\n",
(long long)(int)offsetof(struct hsm_action_item, hai_data));
- LASSERTF((int)sizeof(((struct hsm_action_item *)0)->hai_data) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct hsm_action_item *)0)->hai_data));
+ LASSERTF((int)sizeof(*((struct hsm_action_item *)0)->hai_data) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct hsm_action_item *)0)->hai_data));
/* Checks for struct hsm_action_list */
LASSERTF((int)sizeof(struct hsm_action_list) == 32, "found %lld\n",
(long long)(int)sizeof(((struct hsm_user_request *)0)->hur_request));
LASSERTF((int)offsetof(struct hsm_user_request, hur_user_item) == 24, "found %lld\n",
(long long)(int)offsetof(struct hsm_user_request, hur_user_item));
- LASSERTF((int)sizeof(((struct hsm_user_request *)0)->hur_user_item) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct hsm_user_request *)0)->hur_user_item));
+ LASSERTF((int)sizeof(*((struct hsm_user_request *)0)->hur_user_item) == 32, "found %lld\n",
+ (long long)(int)sizeof(*((struct hsm_user_request *)0)->hur_user_item));
/* Checks for struct hsm_user_import */
LASSERTF((int)sizeof(struct hsm_user_import) == 48, "found %lld\n",
(long long)(int)sizeof(((struct netobj_s *)0)->len));
LASSERTF((int)offsetof(struct netobj_s, data) == 4, "found %lld\n",
(long long)(int)offsetof(struct netobj_s, data));
- LASSERTF((int)sizeof(((struct netobj_s *)0)->data) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct netobj_s *)0)->data));
+ LASSERTF((int)sizeof(*((struct netobj_s *)0)->data) == 1, "found %lld\n",
+ (long long)(int)sizeof(*((struct netobj_s *)0)->data));
/* Checks for struct rawobj_s */
LASSERTF((int)sizeof(struct rawobj_s) == 16, "found %lld\n",
(long long)(int)sizeof(struct update_params));
LASSERTF((int)offsetof(struct update_params, up_params) == 0, "found %lld\n",
(long long)(int)offsetof(struct update_params, up_params));
- LASSERTF((int)sizeof(((struct update_params *)0)->up_params) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct update_params *)0)->up_params));
+ LASSERTF((int)sizeof(*((struct update_params *)0)->up_params) == 8, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_params *)0)->up_params));
/* Checks for struct update_op */
LASSERTF((int)sizeof(struct update_op) == 20, "found %lld\n",
(long long)(int)sizeof(((struct update_op *)0)->uop_param_count));
LASSERTF((int)offsetof(struct update_op, uop_params_off) == 20, "found %lld\n",
(long long)(int)offsetof(struct update_op, uop_params_off));
+ LASSERTF((int)sizeof(*((struct update_op *)0)->uop_params_off) == 2, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_op *)0)->uop_params_off));
/* Checks for struct update_ops */
LASSERTF((int)sizeof(struct update_ops) == 0, "found %lld\n",
(long long)(int)sizeof(struct update_ops));
LASSERTF((int)offsetof(struct update_ops, uops_op) == 0, "found %lld\n",
(long long)(int)offsetof(struct update_ops, uops_op));
- LASSERTF((int)sizeof(((struct update_ops *)0)->uops_op) == 0, "found %lld\n",
- (long long)(int)sizeof(((struct update_ops *)0)->uops_op));
+ LASSERTF((int)sizeof(*((struct update_ops *)0)->uops_op) == 20, "found %lld\n",
+ (long long)(int)sizeof(*((struct update_ops *)0)->uops_op));
/* Checks for struct update_records */
LASSERTF((int)sizeof(struct update_records) == 32, "found %lld\n",