CHECK_VALUE((int)offsetof(struct s, m)); \
} while(0)
+#define CHECK_MEMBER_OFFSET_TYPEDEF(s,m) \
+do { \
+ CHECK_VALUE((int)offsetof(s, m)); \
+} while(0)
+
#define CHECK_MEMBER_SIZEOF(s,m) \
do { \
CHECK_VALUE((int)sizeof(((struct s *)0)->m)); \
} while(0)
+#define CHECK_MEMBER_SIZEOF_TYPEDEF(s,m) \
+do { \
+ CHECK_VALUE((int)sizeof(((s *)0)->m)); \
+} while(0)
+
#define CHECK_MEMBER(s,m) \
do { \
CHECK_MEMBER_OFFSET(s, m); \
CHECK_MEMBER_SIZEOF(s, m); \
} while(0)
+#define CHECK_MEMBER_TYPEDEF(s,m) \
+do { \
+ CHECK_MEMBER_OFFSET_TYPEDEF(s, m); \
+ CHECK_MEMBER_SIZEOF_TYPEDEF(s, m); \
+} while(0)
+
#define CHECK_STRUCT(s) \
do { \
COMMENT("Checks for struct "#s); \
CHECK_VALUE((int)sizeof(struct s)); \
} while(0)
+#define CHECK_STRUCT_TYPEDEF(s) \
+do { \
+ COMMENT("Checks for type "#s); \
+ CHECK_VALUE((int)sizeof(s)); \
+} while(0)
static void
check_lustre_handle(void)
CHECK_MEMBER(ptlrpc_body, pb_conn_cnt);
CHECK_MEMBER(ptlrpc_body, pb_padding_1);
CHECK_MEMBER(ptlrpc_body, pb_padding_2);
- CHECK_MEMBER(ptlrpc_body, pb_padding_3);
- CHECK_MEMBER(ptlrpc_body, pb_padding_4);
- CHECK_MEMBER(ptlrpc_body, pb_padding_5);
+ CHECK_MEMBER(ptlrpc_body, pb_slv);
+ CHECK_MEMBER(ptlrpc_body, pb_limit);
}
static void check_obd_connect_data(void)
CHECK_MEMBER(obd_connect_data, ocd_ibits_known);
CHECK_MEMBER(obd_connect_data, ocd_nllu);
CHECK_MEMBER(obd_connect_data, ocd_nllg);
+ CHECK_MEMBER(obd_connect_data, ocd_transno);
+ CHECK_MEMBER(obd_connect_data, ocd_group);
CHECK_MEMBER(obd_connect_data, padding1);
CHECK_MEMBER(obd_connect_data, padding2);
CHECK_MEMBER(obd_connect_data, padding3);
- CHECK_MEMBER(obd_connect_data, padding4);
CHECK_CDEFINE(OBD_CONNECT_RDONLY);
CHECK_CDEFINE(OBD_CONNECT_INDEX);
CHECK_CDEFINE(OBD_CONNECT_REQPORTAL);
CHECK_CDEFINE(OBD_CONNECT_ACL);
CHECK_CDEFINE(OBD_CONNECT_XATTR);
- CHECK_CDEFINE(OBD_CONNECT_CROW);
+ CHECK_CDEFINE(OBD_CONNECT_REAL);
+ CHECK_CDEFINE(OBD_CONNECT_CKSUM);
CHECK_CDEFINE(OBD_CONNECT_TRUNCLOCK);
- CHECK_CDEFINE(OBD_CONNECT_TRANSNO);
CHECK_CDEFINE(OBD_CONNECT_IBITS);
CHECK_CDEFINE(OBD_CONNECT_JOIN);
CHECK_CDEFINE(OBD_CONNECT_ATTRFID);
CHECK_CDEFINE(OBD_CONNECT_RMT_CLIENT);
CHECK_CDEFINE(OBD_CONNECT_BRW_SIZE);
CHECK_CDEFINE(OBD_CONNECT_QUOTA64);
+ CHECK_CDEFINE(OBD_CONNECT_MDS_CAPA);
+ CHECK_CDEFINE(OBD_CONNECT_OSS_CAPA);
+ CHECK_CDEFINE(OBD_CONNECT_MDS_MDS);
+ CHECK_CDEFINE(OBD_CONNECT_SOM);
+ CHECK_CDEFINE(OBD_CONNECT_AT);
+ CHECK_CDEFINE(OBD_CONNECT_CANCELSET);
+ CHECK_CDEFINE(OBD_CONNECT_LRU_RESIZE);
}
static void
CHECK_CDEFINE(OBD_FL_DEBUG_CHECK);
CHECK_CDEFINE(OBD_FL_NO_USRQUOTA);
CHECK_CDEFINE(OBD_FL_NO_GRPQUOTA);
- CHECK_CDEFINE(OBD_FL_CREATE_CROW);
}
static void
CHECK_MEMBER(mds_rec_setattr, sa_uid);
CHECK_MEMBER(mds_rec_setattr, sa_gid);
CHECK_MEMBER(mds_rec_setattr, sa_attr_flags);
+ CHECK_CDEFINE(MDS_ATTR_MODE);
+ CHECK_CDEFINE(MDS_ATTR_UID);
+ CHECK_CDEFINE(MDS_ATTR_GID);
+ CHECK_CDEFINE(MDS_ATTR_SIZE);
+ CHECK_CDEFINE(MDS_ATTR_ATIME);
+ CHECK_CDEFINE(MDS_ATTR_MTIME);
+ CHECK_CDEFINE(MDS_ATTR_CTIME);
+ CHECK_CDEFINE(MDS_ATTR_ATIME_SET);
+ CHECK_CDEFINE(MDS_ATTR_MTIME_SET);
+ CHECK_CDEFINE(MDS_ATTR_FORCE);
+ CHECK_CDEFINE(MDS_ATTR_ATTR_FLAG);
+ CHECK_CDEFINE(MDS_ATTR_KILL_SUID);
+ CHECK_CDEFINE(MDS_ATTR_KILL_SGID);
+ CHECK_CDEFINE(MDS_ATTR_CTIME_SET);
+ CHECK_CDEFINE(MDS_ATTR_FROM_OPEN);
+ CHECK_CDEFINE(MDS_ATTR_BLOCKS);
}
static void
BLANK_LINE();
CHECK_STRUCT(ldlm_request);
CHECK_MEMBER(ldlm_request, lock_flags);
- CHECK_MEMBER(ldlm_request, lock_padding);
+ CHECK_MEMBER(ldlm_request, lock_count);
CHECK_MEMBER(ldlm_request, lock_desc);
- CHECK_MEMBER(ldlm_request, lock_handle1);
- CHECK_MEMBER(ldlm_request, lock_handle2);
+ CHECK_MEMBER(ldlm_request, lock_handle);
}
static void
BLANK_LINE();
CHECK_STRUCT(ldlm_reply);
CHECK_MEMBER(ldlm_reply, lock_flags);
- CHECK_MEMBER(ldlm_request, lock_padding);
- CHECK_MEMBER(ldlm_request, lock_desc);
+ CHECK_MEMBER(ldlm_reply, lock_padding);
+ CHECK_MEMBER(ldlm_reply, lock_desc);
CHECK_MEMBER(ldlm_reply, lock_handle);
CHECK_MEMBER(ldlm_reply, lock_policy_res1);
CHECK_MEMBER(ldlm_reply, lock_policy_res2);
CHECK_STRUCT(llog_size_change_rec);
CHECK_MEMBER(llog_size_change_rec, lsc_hdr);
CHECK_MEMBER(llog_size_change_rec, lsc_fid);
- CHECK_MEMBER(llog_size_change_rec, lsc_io_epoch);
+ CHECK_MEMBER(llog_size_change_rec, lsc_ioepoch);
CHECK_MEMBER(llog_size_change_rec, padding);
CHECK_MEMBER(llog_size_change_rec, lsc_tail);
}
CHECK_MEMBER(lustre_disk_data, ldd_params);
}
+#ifdef LIBLUSTRE_POSIX_ACL
+static void
+check_posix_acl_xattr_entry(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT_TYPEDEF(posix_acl_xattr_entry);
+ CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_tag);
+ CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_perm);
+ CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_id);
+}
+
+static void
+check_posix_acl_xattr_header(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT_TYPEDEF(posix_acl_xattr_header);
+ CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_version);
+ CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_entries);
+}
+#endif
+
static void
system_string (char *cmdline, char *str, int len)
{
CHECK_VALUE(MGS_EXCEPTION);
CHECK_VALUE(MGS_TARGET_REG);
CHECK_VALUE(MGS_TARGET_DEL);
+ CHECK_VALUE(MGS_SET_INFO);
CHECK_VALUE(DISP_IT_EXECD);
CHECK_VALUE(DISP_LOOKUP_EXECD);
CHECK_VALUE(MGS_EXCEPTION);
CHECK_VALUE(MGS_TARGET_REG);
CHECK_VALUE(MGS_TARGET_DEL);
+ CHECK_VALUE(MGS_SET_INFO);
COMMENT("Sizes and Offsets");
BLANK_LINE();
check_qunit_data_old();
check_mgs_target_info();
check_lustre_disk_data();
+#ifdef LIBLUSTRE_POSIX_ACL
+ check_posix_acl_xattr_entry();
+ check_posix_acl_xattr_header();
+#endif
printf("}\n\n");