Whamcloud - gitweb
b=23090 Wirecheck.c is still missing some structs
authorNicolas Williams <Nicolas.Williams@oracle.com>
Thu, 7 Oct 2010 22:24:46 +0000 (17:24 -0500)
committerVitaly Fertman <vitaly.fertman@sun.com>
Tue, 12 Oct 2010 22:24:15 +0000 (02:24 +0400)
i=andreas.dilger
    i=robert.read

lustre/include/lustre/lustre_idl.h
lustre/ptlrpc/wiretest.c
lustre/utils/checkwirecheck.sh [new file with mode: 0755]
lustre/utils/wirecheck.c
lustre/utils/wiretest.c

index 6ef74d1..60fd978 100644 (file)
@@ -355,7 +355,7 @@ static inline void lustre_lma_swab(struct lustre_mdt_attrs *lma)
 /**
  * fid constants
  */
-enum {
+enum fid_oid {
         /** initial fid id value */
         LUSTRE_FID_INIT_OID  = 1UL
 };
@@ -1136,7 +1136,7 @@ extern void lustre_swab_connect(struct obd_connect_data *ocd);
  * Please update DECLARE_CKSUM_NAME/OBD_CKSUM_ALL in obd.h when adding a new
  * algorithm and also the OBD_FL_CKSUM* flags.
  */
-typedef enum {
+typedef enum cksum_type {
         OBD_CKSUM_CRC32 = 0x00000001,
         OBD_CKSUM_ADLER = 0x00000002,
 } cksum_type_t;
@@ -1146,7 +1146,7 @@ typedef enum {
  */
 
 /* opcodes */
-typedef enum {
+typedef enum ost_cmd {
         OST_REPLY      =  0,       /* reply ? */
         OST_GETATTR    =  1,
         OST_SETATTR    =  2,
@@ -1403,7 +1403,7 @@ extern void lustre_swab_ost_lvb(struct ost_lvb *);
  */
 
 /* opcodes */
-typedef enum {
+typedef enum mds_cmd {
         MDS_GETATTR      = 33,
         MDS_GETATTR_NAME = 34,
         MDS_CLOSE        = 35,
@@ -1434,7 +1434,7 @@ typedef enum {
  * Do not exceed 63
  */
 
-typedef enum {
+typedef enum mdt_reint {
         REINT_SETATTR  = 1,
         REINT_CREATE   = 2,
         REINT_LINK     = 3,
@@ -1713,7 +1713,7 @@ struct mds_remote_perm {
 };
 
 /* permissions for md_perm.mp_perm */
-enum {
+enum mp_perm {
         CFS_SETUID_PERM = 0x01,
         CFS_SETGID_PERM = 0x02,
         CFS_SETGRP_PERM = 0x04,
@@ -1845,7 +1845,7 @@ extern void lustre_swab_mdt_rec_setattr (struct mdt_rec_setattr *sa);
 /* lfs rgetfacl permission check */
 #define MAY_RGETFACL    (1 << 14)
 
-enum {
+enum op_bias {
         MDS_CHECK_SPLIT   = 1 << 0,
         MDS_CROSS_REF     = 1 << 1,
         MDS_VTX_BYPASS    = 1 << 2,
@@ -2128,7 +2128,7 @@ extern void lustre_swab_lov_desc (struct lov_desc *ld);
  *   LDLM requests:
  */
 /* opcodes -- MUST be distinct from OST/MDS opcodes */
-typedef enum {
+typedef enum ldlm_cmd {
         LDLM_ENQUEUE     = 101,
         LDLM_CONVERT     = 102,
         LDLM_CANCEL      = 103,
@@ -2148,7 +2148,7 @@ struct ldlm_res_id {
 extern void lustre_swab_ldlm_res_id (struct ldlm_res_id *id);
 
 /* lock types */
-typedef enum {
+typedef enum ldlm_mode {
         LCK_MINMODE = 0,
         LCK_EX      = 1,
         LCK_PW      = 2,
@@ -2163,7 +2163,7 @@ typedef enum {
 
 #define LCK_MODE_NUM    8
 
-typedef enum {
+typedef enum ldlm_type {
         LDLM_PLAIN     = 10,
         LDLM_EXTENT    = 11,
         LDLM_FLOCK     = 12,
@@ -2203,7 +2203,7 @@ struct ldlm_flock {
  * this ever changes we will need to swab the union differently based
  * on the resource type. */
 
-typedef union {
+typedef union ldlm_policy_data {
         struct ldlm_extent l_extent;
         struct ldlm_flock  l_flock;
         struct ldlm_inodebits l_inodebits;
@@ -2271,7 +2271,7 @@ extern void lustre_swab_ldlm_reply (struct ldlm_reply *r);
 /*
  * Opcodes for mountconf (mgs and mgc)
  */
-typedef enum {
+typedef enum mgs_cmd {
         MGS_CONNECT = 250,
         MGS_DISCONNECT,
         MGS_EXCEPTION,         /* node died, etc. */
@@ -2335,7 +2335,7 @@ extern void lustre_swab_cfg_marker(struct cfg_marker *marker,
  * Opcodes for multiple servers.
  */
 
-typedef enum {
+typedef enum obd_cmd {
         OBD_PING = 400,
         OBD_LOG_CANCEL,
         OBD_QC_CALLBACK,
@@ -2367,7 +2367,7 @@ struct llog_catid {
 #define LLOG_OP_MAGIC 0x10600000
 #define LLOG_OP_MASK  0xfff00000
 
-typedef enum {
+typedef enum llog_op_type {
         LLOG_PAD_MAGIC     = LLOG_OP_MAGIC | 0x00000,
         OST_SZ_REC         = LLOG_OP_MAGIC | 0x00f00,
         OST_RAID1_REC      = LLOG_OP_MAGIC | 0x01000,
@@ -2731,7 +2731,7 @@ extern struct qunit_data *quota_get_qdata(void *req, int is_req, int is_exp);
 extern int quota_copy_qdata(void *request, struct qunit_data *qdata,
                             int is_req, int is_exp);
 
-typedef enum {
+typedef enum quota_cmd {
         QUOTA_DQACQ     = 601,
         QUOTA_DQREL     = 602,
         QUOTA_LAST_OPC
@@ -2751,7 +2751,7 @@ typedef enum {
 
 
 /* security opcodes */
-typedef enum {
+typedef enum sec_cmd {
         SEC_CTX_INIT            = 801,
         SEC_CTX_INIT_CONT       = 802,
         SEC_CTX_FINI            = 803,
@@ -2782,7 +2782,7 @@ struct lustre_capa {
 extern void lustre_swab_lustre_capa(struct lustre_capa *c);
 
 /** lustre_capa::lc_opc */
-enum {
+enum capa {
         CAPA_OPC_BODY_WRITE   = 1<<0,  /**< write object data */
         CAPA_OPC_BODY_READ    = 1<<1,  /**< read object data */
         CAPA_OPC_INDEX_LOOKUP = 1<<2,  /**< lookup object fid */
@@ -2822,7 +2822,7 @@ static inline int capa_for_oss(struct lustre_capa *c)
 }
 
 /* lustre_capa::lc_hmac_alg */
-enum {
+enum capa_mac_alg {
         CAPA_HMAC_ALG_SHA1 = 1, /**< sha1 algorithm */
         CAPA_HMAC_ALG_MAX,
 };
index e819c88..6f9a54a 100644 (file)
@@ -288,6 +288,122 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(struct obd_uuid) == 40, " found %lld\n",
                  (long long)(int)sizeof(struct obd_uuid));
 
+        /* Checks for struct lu_seq_range */
+        LASSERTF((int)sizeof(struct lu_seq_range) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_seq_range));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_start));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_start));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_end) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_end));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_end) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_end));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_mdt) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_mdt));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_mdt) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_mdt));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_padding));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_padding));
+
+        /* Checks for struct lustre_mdt_attrs */
+        LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 64, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_mdt_attrs));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_compat) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_compat));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_incompat) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_incompat));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_self_fid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_self_fid));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_flags) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_flags));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_ioepoch) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_ioepoch));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_ioepoch));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_size) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_size));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_size));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_blocks) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_blocks));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_blocks));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_mountid) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_mountid));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_mountid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_mountid));
+
+        /* Checks for struct lu_dirent */
+        LASSERTF((int)sizeof(struct lu_dirent) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_dirent));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_fid));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_fid));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_hash) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_hash));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_hash) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_hash));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_reclen) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_reclen));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_reclen) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_reclen));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_namelen) == 26, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_namelen));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_namelen) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_namelen));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_attrs) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_attrs));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_attrs) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_attrs));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_name[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_name[0]));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_name[0]));
+
+        /* Checks for struct luda_type */
+        LASSERTF((int)sizeof(struct luda_type) == 2, " found %lld\n",
+                 (long long)(int)sizeof(struct luda_type));
+        LASSERTF((int)offsetof(struct luda_type, lt_type) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct luda_type, lt_type));
+        LASSERTF((int)sizeof(((struct luda_type *)0)->lt_type) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct luda_type *)0)->lt_type));
+
+        /* Checks for struct lu_dirpage */
+        LASSERTF((int)sizeof(struct lu_dirpage) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_dirpage));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_start));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_end) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_end));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_flags));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_flags));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_pad0) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_pad0));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_pad0) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_pad0));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_entries[0]) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_entries[0]));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]));
+
         /* Checks for struct lustre_handle */
         LASSERTF((int)sizeof(struct lustre_handle) == 8, " found %lld\n",
                  (long long)(int)sizeof(struct lustre_handle));
@@ -1013,6 +1129,22 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, " found %lld\n",
                  (long long)(int)sizeof(((struct ost_body *)0)->oa));
 
+        /* Checks for struct ll_fiemap_info_key */
+        LASSERTF((int)sizeof(struct ll_fiemap_info_key) == 248, " found %lld\n",
+                 (long long)(int)sizeof(struct ll_fiemap_info_key));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, name[0]) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, name[0]));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->name[0]));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, oa) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, oa));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->oa) == 208, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->oa));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, fiemap) == 216, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, fiemap));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap));
+
         /* Checks for struct ll_fid */
         LASSERTF((int)sizeof(struct ll_fid) == 16, " found %lld\n",
                  (long long)(int)sizeof(struct ll_fid));
@@ -1178,6 +1310,162 @@ void lustre_assert_wire_constants(void)
         CLASSERT(MDS_INODELOCK_UPDATE == 0x000002);
         CLASSERT(MDS_INODELOCK_OPEN == 0x000004);
 
+        /* Checks for struct mdt_body */
+        LASSERTF((int)sizeof(struct mdt_body) == 216, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_body));
+        LASSERTF((int)offsetof(struct mdt_body, fid1) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fid1));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid1) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fid1));
+        LASSERTF((int)offsetof(struct mdt_body, fid2) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fid2));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid2) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fid2));
+        LASSERTF((int)offsetof(struct mdt_body, handle) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, handle));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->handle) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->handle));
+        LASSERTF((int)offsetof(struct mdt_body, valid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, valid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->valid));
+        LASSERTF((int)offsetof(struct mdt_body, size) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, size));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->size));
+        LASSERTF((int)offsetof(struct mdt_body, mtime) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, mtime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->mtime));
+        LASSERTF((int)offsetof(struct mdt_body, atime) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, atime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->atime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->atime));
+        LASSERTF((int)offsetof(struct mdt_body, ctime) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ctime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ctime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ctime));
+        LASSERTF((int)offsetof(struct mdt_body, blocks) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, blocks));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
+        LASSERTF((int)offsetof(struct mdt_body, ioepoch) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ioepoch));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ioepoch));
+        LASSERTF((int)offsetof(struct mdt_body, ino) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ino));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ino) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ino));
+        LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fsuid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fsuid));
+        LASSERTF((int)offsetof(struct mdt_body, fsgid) == 108, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fsgid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fsgid));
+        LASSERTF((int)offsetof(struct mdt_body, capability) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, capability));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->capability) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->capability));
+        LASSERTF((int)offsetof(struct mdt_body, mode) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, mode));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->mode));
+        LASSERTF((int)offsetof(struct mdt_body, uid) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, uid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->uid));
+        LASSERTF((int)offsetof(struct mdt_body, gid) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, gid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->gid));
+        LASSERTF((int)offsetof(struct mdt_body, flags) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, flags));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->flags));
+        LASSERTF((int)offsetof(struct mdt_body, rdev) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, rdev));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->rdev) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->rdev));
+        LASSERTF((int)offsetof(struct mdt_body, nlink) == 136, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, nlink));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->nlink) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->nlink));
+        LASSERTF((int)offsetof(struct mdt_body, generation) == 140, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, generation));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->generation) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->generation));
+        LASSERTF((int)offsetof(struct mdt_body, suppgid) == 144, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, suppgid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->suppgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->suppgid));
+        LASSERTF((int)offsetof(struct mdt_body, eadatasize) == 148, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, eadatasize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->eadatasize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->eadatasize));
+        LASSERTF((int)offsetof(struct mdt_body, aclsize) == 152, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, aclsize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->aclsize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->aclsize));
+        LASSERTF((int)offsetof(struct mdt_body, max_mdsize) == 156, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, max_mdsize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_mdsize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->max_mdsize));
+        LASSERTF((int)offsetof(struct mdt_body, max_cookiesize) == 160, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, max_cookiesize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_cookiesize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->max_cookiesize));
+        LASSERTF((int)offsetof(struct mdt_body, padding_4) == 164, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_4));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_4));
+        LASSERTF((int)offsetof(struct mdt_body, padding_5) == 168, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_5));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_5) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_5));
+        LASSERTF((int)offsetof(struct mdt_body, padding_6) == 176, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_6));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_6) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_6));
+        LASSERTF((int)offsetof(struct mdt_body, padding_7) == 184, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_7));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_7) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_7));
+        LASSERTF((int)offsetof(struct mdt_body, padding_8) == 192, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_8));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_8) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_8));
+        LASSERTF((int)offsetof(struct mdt_body, padding_9) == 200, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_9));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_9) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_9));
+        LASSERTF((int)offsetof(struct mdt_body, padding_10) == 208, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_10));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_10) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_10));
+
+        /* Checks for struct mdt_ioepoch */
+        LASSERTF((int)sizeof(struct mdt_ioepoch) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_ioepoch));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, handle) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, handle));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->handle) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->handle));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, ioepoch) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, ioepoch));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->ioepoch));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, flags));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->flags));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, padding));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->padding));
+
         /* Checks for struct mdt_rec_setattr */
         LASSERTF((int)sizeof(struct mdt_rec_setattr) == 136, " found %lld\n",
                  (long long)(int)sizeof(struct mdt_rec_setattr));
@@ -2196,6 +2484,18 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct llog_size_change_rec *)0)->lsc_tail) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_size_change_rec *)0)->lsc_tail));
 
+        /* Checks for struct changelog_setinfo */
+        LASSERTF((int)sizeof(struct changelog_setinfo) == 12, " found %lld\n",
+                 (long long)(int)sizeof(struct changelog_setinfo));
+        LASSERTF((int)offsetof(struct changelog_setinfo, cs_recno) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct changelog_setinfo, cs_recno));
+        LASSERTF((int)sizeof(((struct changelog_setinfo *)0)->cs_recno) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct changelog_setinfo *)0)->cs_recno));
+        LASSERTF((int)offsetof(struct changelog_setinfo, cs_id) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct changelog_setinfo, cs_id));
+        LASSERTF((int)sizeof(((struct changelog_setinfo *)0)->cs_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct changelog_setinfo *)0)->cs_id));
+
         /* Checks for struct changelog_rec */
         LASSERTF((int)sizeof(struct changelog_rec) == 64, " found %lld\n",
                  (long long)(int)sizeof(struct changelog_rec));
@@ -2248,6 +2548,30 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct llog_changelog_rec *)0)->cr_tail) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_changelog_rec *)0)->cr_tail));
 
+        /* Checks for struct llog_changelog_user_rec */
+        LASSERTF((int)sizeof(struct llog_changelog_user_rec) == 40, " found %lld\n",
+                 (long long)(int)sizeof(struct llog_changelog_user_rec));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_hdr) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_hdr));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_hdr) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_hdr));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_id) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_id));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_id));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_padding));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_padding));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_endrec) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_endrec));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_endrec) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_endrec));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_tail) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_tail));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_tail) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_tail));
+
         /* Checks for struct llog_gen */
         LASSERTF((int)sizeof(struct llog_gen) == 16, " found %lld\n",
                  (long long)(int)sizeof(struct llog_gen));
@@ -2425,6 +2749,66 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct qunit_data *)0)->padding) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct qunit_data *)0)->padding));
 
+        /* Checks for struct lustre_capa */
+        LASSERTF((int)sizeof(struct lustre_capa) == 120, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_capa));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_fid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_fid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_opc) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_opc));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_opc) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_opc));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_uid) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_uid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_uid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_uid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_gid) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_gid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_gid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_gid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_flags) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_flags));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_flags));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_keyid) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_keyid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_keyid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_keyid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_timeout) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_timeout));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_timeout) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_timeout));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_expiry) == 52, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_expiry));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_expiry) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_expiry));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_hmac[0]) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_hmac[0]));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_hmac[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_hmac[0]));
+
+        /* Checks for struct lustre_capa_key */
+        LASSERTF((int)sizeof(struct lustre_capa_key) == 72, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_capa_key));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_seq) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_seq));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_seq) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_seq));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_keyid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_keyid));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_keyid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_keyid));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_padding) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_padding));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_padding));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_key[0]) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_key[0]));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_key[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_key[0]));
+
         /* Checks for struct quota_adjust_qunit */
         LASSERTF((int)sizeof(struct quota_adjust_qunit) == 32, " found %lld\n",
                  (long long)(int)sizeof(struct quota_adjust_qunit));
@@ -2449,6 +2833,354 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct quota_adjust_qunit *)0)->padding1) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct quota_adjust_qunit *)0)->padding1));
 
+        /* Checks for struct mds_remote_perm */
+        LASSERTF((int)sizeof(struct mds_remote_perm) == 20, " found %lld\n",
+                 (long long)(int)sizeof(struct mds_remote_perm));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_uid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_uid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_uid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_gid) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_gid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_gid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_fsuid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_fsuid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_fsgid) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_fsgid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_fsgid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_access_perm) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_access_perm));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_access_perm) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_access_perm));
+
+        /* Checks for struct mdt_remote_perm */
+        LASSERTF((int)sizeof(struct mdt_remote_perm) == 20, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_remote_perm));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_uid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_uid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_uid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_gid) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_gid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_gid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsgid) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_access_perm) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_access_perm));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm));
+
+        /* Checks for struct mdt_rec_setxattr */
+        LASSERTF((int)sizeof(struct mdt_rec_setxattr) == 136, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_rec_setxattr));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_opcode) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_opcode));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_opcode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_opcode));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_cap) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_cap));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_cap) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_cap));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsuid_h) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsuid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsgid) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsgid_h) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsgid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid1_h) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid1_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid2_h) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid2_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_1) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_1));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_1) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_1));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_2) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_2));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_2));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_3) == 68, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_3));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_3));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_valid) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_valid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_valid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_time) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_time));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_time) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_time));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_5) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_5));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_5) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_5));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_6) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_6));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_6) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_6));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_7) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_7));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_7) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_7));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_size) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_size));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_size) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_size));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_flags) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_flags));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_flags));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_8) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_8));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_8) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_8));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_9) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_9));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_9) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_9));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_10) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_10));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_10) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_10));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_11) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_11));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_11) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_11));
+
+        /* Checks for struct mdt_rec_reint */
+        LASSERTF((int)sizeof(struct mdt_rec_reint) == 136, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_rec_reint));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_opcode) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_opcode));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_opcode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_opcode));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_cap) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_cap));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_cap) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_cap));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsuid_h) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsuid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsgid) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsgid_h) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsgid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid1_h) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid1_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid2_h) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid2_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fid1) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fid1) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fid1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fid2) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fid2) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fid2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_mtime) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_mtime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_mtime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_atime) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_atime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_atime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_atime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_ctime) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_ctime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_ctime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_ctime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_size) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_size));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_size));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_blocks) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_blocks));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_blocks));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_bias) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_bias));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_bias) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_bias));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_mode) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_mode));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_mode));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_1) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_2) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_3) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_3));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_4) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_4));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_4));
+
+        /* Checks for struct lmv_desc */
+        LASSERTF((int)sizeof(struct lmv_desc) == 88, " found %lld\n",
+                 (long long)(int)sizeof(struct lmv_desc));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_tgt_count) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_tgt_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_tgt_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_active_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_active_tgt_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_active_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_active_tgt_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_default_stripe_count) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_default_stripe_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_default_stripe_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_default_stripe_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_pattern) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_pattern));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_pattern) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_pattern));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_default_hash_size) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_default_hash_size));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_default_hash_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_default_hash_size));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_1));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_1) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_1));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_2));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_2));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_qos_maxage) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_qos_maxage));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_qos_maxage) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_qos_maxage));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_3) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_3));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_3));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_4) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_4));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_4));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_uuid) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_uuid));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_uuid) == 40, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_uuid));
+
+        /* Checks for struct lmv_stripe_md */
+        LASSERTF((int)sizeof(struct lmv_stripe_md) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct lmv_stripe_md));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_magic) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_magic));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_magic) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_magic));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_count) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_count));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_count));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_master) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_master));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_master) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_master));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_padding) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_padding));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_padding));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_pool_name[0]) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_pool_name[0]));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_pool_name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_pool_name[0]));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_ids[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_ids[0]));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_ids[0]) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_ids[0]));
+
+        /* Checks for struct md_fld */
+        LASSERTF((int)sizeof(struct md_fld) == 16, " found %lld\n",
+                 (long long)(int)sizeof(struct md_fld));
+        LASSERTF((int)offsetof(struct md_fld, mf_seq) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct md_fld, mf_seq));
+        LASSERTF((int)sizeof(((struct md_fld *)0)->mf_seq) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct md_fld *)0)->mf_seq));
+        LASSERTF((int)offsetof(struct md_fld, mf_mds) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct md_fld, mf_mds));
+        LASSERTF((int)sizeof(((struct md_fld *)0)->mf_mds) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct md_fld *)0)->mf_mds));
+
+        /* Checks for struct mgs_send_param */
+        LASSERTF((int)sizeof(struct mgs_send_param) == 1024, " found %lld\n",
+                 (long long)(int)sizeof(struct mgs_send_param));
+        LASSERTF((int)offsetof(struct mgs_send_param, mgs_param[0]) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mgs_send_param, mgs_param[0]));
+        LASSERTF((int)sizeof(((struct mgs_send_param *)0)->mgs_param[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct mgs_send_param *)0)->mgs_param[0]));
+        LASSERTF((int)offsetof(struct mgs_send_param, mgs_param[1024 - 1]) == 1023, " found %lld\n",
+                 (long long)(int)offsetof(struct mgs_send_param, mgs_param[1024 - 1]));
+        LASSERTF((int)sizeof(((struct mgs_send_param *)0)->mgs_param[1024 - 1]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct mgs_send_param *)0)->mgs_param[1024 - 1]));
+
         /* Checks for struct mgs_target_info */
         LASSERTF((int)sizeof(struct mgs_target_info) == 4544, " found %lld\n",
                  (long long)(int)sizeof(struct mgs_target_info));
@@ -2693,5 +3425,29 @@ void lustre_assert_wire_constants(void)
                  (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));
+
+        /* Checks for struct getinfo_fid2path */
+        LASSERTF((int)sizeof(struct getinfo_fid2path) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct getinfo_fid2path));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_fid));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_fid));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_recno) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_recno));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_recno) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_recno));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_linkno) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_linkno));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_linkno) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_linkno));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_pathlen) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_pathlen));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_pathlen) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_pathlen));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_path[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_path[0]));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_path[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_path[0]));
 }
 
diff --git a/lustre/utils/checkwirecheck.sh b/lustre/utils/checkwirecheck.sh
new file mode 100755 (executable)
index 0000000..b4d59eb
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+IDL=../../lustre/include/lustre/lustre_idl.h
+
+idl_types=$(mktemp -t idl_types-XXXX)
+idl_types2=$(mktemp -t idl_types2-XXXX)
+idl_struct_types=$(mktemp -t idl_struct_types-XXXX)
+idl_struct_types2=$(mktemp -t idl_struct_types2-XXXX)
+status=0
+
+trap 'rm -f "$idl_types" "$idl_types2" "$idl_struct_types" "$idl_struct_types2"' EXIT
+
+# All named types
+egrep '^(struct|union|enum|typedef|#define)' $IDL |
+    grep -v '} __attribute__((packed));' |
+    grep -v '}__attribute__((packed));' > $idl_types
+sed -e '/^#define/s/^#define.\([^      ]*\).*$/\1/' \
+    -e '/^typedef/s/typedef.[^         ]*[     ]*\<\(.*\);/\1/' \
+    -e '/^struct/s/^struct[    ]*\([^  ]*\).*$/\1/' \
+    -e '/^enum/s/^enum[        ]*\([^  ]*\).*$/\1/' \
+    -e '/^typedef enum/s/^typedef enum[        ]*\([^  ]*\)[   ].*/\1/' \
+    -e '/^typedef union/s/^typedef union[      ]*\([^  ]*\)[   ].*/\1/' \
+    "$idl_types" | grep -v '[()]'  > "$idl_types2"
+while read sym; do
+        # Ignore the #define for the header guard
+        [[ "$sym" = _LUSTRE_IDL_H_ ]] && continue
+        grep -q "$sym" wirecheck.c || echo "Missing wirecheck for $sym"
+done < "$idl_types2"
+
+# Just struct types (the grep -v ';' part ignores incomplete structs; we can't
+# check those).
+grep '^struct' $IDL | grep -v ';' > "$idl_struct_types"
+sed -e '/^struct/s/^struct[    ]*\([^  ]*\).*$/\1/' \
+    "$idl_struct_types" | grep -v '[()]'  > "$idl_struct_types2"
+while read sym; do
+        grep -q "$sym" wirecheck.c && continue
+        status=1
+        echo "Missing wirecheck for struct $sym"
+done < "$idl_struct_types2"
+
+# Reflect only missing structs, for now.
+exit $status
index d574047..f59464e 100644 (file)
@@ -127,6 +127,62 @@ do {                                                            \
 } while(0)
 
 static void
+check_lu_seq_range(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(lu_seq_range);
+        CHECK_MEMBER(lu_seq_range, lsr_start);
+        CHECK_MEMBER(lu_seq_range, lsr_end);
+        CHECK_MEMBER(lu_seq_range, lsr_mdt);
+        CHECK_MEMBER(lu_seq_range, lsr_padding);
+}
+
+/* lustre_mdt_attrs is stored in EA; it's worth checking for changes here */
+static void
+check_lustre_mdt_attrs(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lustre_mdt_attrs);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_compat);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_incompat);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_self_fid);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_flags);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_ioepoch);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_som_size);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_som_blocks);
+        CHECK_MEMBER(lustre_mdt_attrs, lma_som_mountid);
+}
+
+static void
+check_lu_dirent(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lu_dirent);
+        CHECK_MEMBER(lu_dirent, lde_fid);
+        CHECK_MEMBER(lu_dirent, lde_hash);
+        CHECK_MEMBER(lu_dirent, lde_reclen);
+        CHECK_MEMBER(lu_dirent, lde_namelen);
+        CHECK_MEMBER(lu_dirent, lde_attrs);
+        CHECK_MEMBER(lu_dirent, lde_name[0]);
+}
+
+static void
+check_luda_type(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(luda_type);
+        CHECK_MEMBER(luda_type, lt_type);
+}
+
+static void
+check_lu_dirpage(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lu_dirpage);
+        CHECK_MEMBER(lu_dirpage, ldp_hash_start);
+        CHECK_MEMBER(lu_dirpage, ldp_hash_end);
+        CHECK_MEMBER(lu_dirpage, ldp_flags);
+        CHECK_MEMBER(lu_dirpage, ldp_pad0);
+        CHECK_MEMBER(lu_dirpage, ldp_entries[0]);
+}
+
+static void
 check_lustre_handle(void)
 {
         BLANK_LINE();
@@ -465,6 +521,16 @@ check_ost_body(void)
 }
 
 static void
+check_ll_fiemap_info_key(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(ll_fiemap_info_key);
+        CHECK_MEMBER(ll_fiemap_info_key, name[0]);
+        CHECK_MEMBER(ll_fiemap_info_key, oa);
+        CHECK_MEMBER(ll_fiemap_info_key, fiemap);
+}
+
+
+static void
 check_ll_fid(void)
 {
         BLANK_LINE();
@@ -546,6 +612,55 @@ check_mds_body(void)
 }
 
 static void
+check_mdt_body(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mdt_body);
+        CHECK_MEMBER(mdt_body, fid1);
+        CHECK_MEMBER(mdt_body, fid2);
+        CHECK_MEMBER(mdt_body, handle);
+        CHECK_MEMBER(mdt_body, valid);
+        CHECK_MEMBER(mdt_body, size);
+        CHECK_MEMBER(mdt_body, mtime);
+        CHECK_MEMBER(mdt_body, atime);
+        CHECK_MEMBER(mdt_body, ctime);
+        CHECK_MEMBER(mdt_body, blocks);
+        CHECK_MEMBER(mdt_body, ioepoch);
+        CHECK_MEMBER(mdt_body, ino);
+        CHECK_MEMBER(mdt_body, fsuid);
+        CHECK_MEMBER(mdt_body, fsgid);
+        CHECK_MEMBER(mdt_body, capability);
+        CHECK_MEMBER(mdt_body, mode);
+        CHECK_MEMBER(mdt_body, uid);
+        CHECK_MEMBER(mdt_body, gid);
+        CHECK_MEMBER(mdt_body, flags);
+        CHECK_MEMBER(mdt_body, rdev);
+        CHECK_MEMBER(mdt_body, nlink);
+        CHECK_MEMBER(mdt_body, generation);
+        CHECK_MEMBER(mdt_body, suppgid);
+        CHECK_MEMBER(mdt_body, eadatasize);
+        CHECK_MEMBER(mdt_body, aclsize);
+        CHECK_MEMBER(mdt_body, max_mdsize);
+        CHECK_MEMBER(mdt_body, max_cookiesize);
+        CHECK_MEMBER(mdt_body, padding_4);
+        CHECK_MEMBER(mdt_body, padding_5);
+        CHECK_MEMBER(mdt_body, padding_6);
+        CHECK_MEMBER(mdt_body, padding_7);
+        CHECK_MEMBER(mdt_body, padding_8);
+        CHECK_MEMBER(mdt_body, padding_9);
+        CHECK_MEMBER(mdt_body, padding_10);
+}
+
+static void
+check_mdt_ioepoch(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mdt_ioepoch);
+        CHECK_MEMBER(mdt_ioepoch, handle);
+        CHECK_MEMBER(mdt_ioepoch, ioepoch);
+        CHECK_MEMBER(mdt_ioepoch, flags);
+        CHECK_MEMBER(mdt_ioepoch, padding);
+}
+
+static void
 check_mdt_rec_setattr(void)
 {
         BLANK_LINE();
@@ -688,7 +803,7 @@ check_mdt_rec_rename(void)
         CHECK_MEMBER(mdt_rec_rename, rn_padding_1);
         CHECK_MEMBER(mdt_rec_rename, rn_padding_2);
         CHECK_MEMBER(mdt_rec_rename, rn_padding_3);
-        CHECK_MEMBER(mdt_rec_rename, rn_padding_4); 
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_4);
         CHECK_MEMBER(mdt_rec_rename, rn_bias);
         CHECK_MEMBER(mdt_rec_rename, rn_mode);
         CHECK_MEMBER(mdt_rec_rename, rn_padding_5);
@@ -977,6 +1092,14 @@ check_llog_size_change_rec(void)
 }
 
 static void
+check_changelog_setinfo(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(changelog_setinfo);
+        CHECK_MEMBER(changelog_setinfo, cs_recno);
+        CHECK_MEMBER(changelog_setinfo, cs_id);
+}
+
+static void
 check_changelog_rec(void)
 {
         BLANK_LINE();
@@ -1002,6 +1125,17 @@ check_llog_changelog_rec(void)
 }
 
 static void
+check_llog_changelog_user_rec(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(llog_changelog_user_rec);
+        CHECK_MEMBER(llog_changelog_user_rec, cur_hdr);
+        CHECK_MEMBER(llog_changelog_user_rec, cur_id);
+        CHECK_MEMBER(llog_changelog_user_rec, cur_padding);
+        CHECK_MEMBER(llog_changelog_user_rec, cur_endrec);
+        CHECK_MEMBER(llog_changelog_user_rec, cur_tail);
+}
+
+static void
 check_llog_gen(void)
 {
         BLANK_LINE();
@@ -1096,6 +1230,40 @@ check_qunit_data(void)
 }
 
 static void
+check_lustre_capa(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lustre_capa);
+        CHECK_MEMBER(lustre_capa, lc_fid);
+        CHECK_MEMBER(lustre_capa, lc_opc);
+        CHECK_MEMBER(lustre_capa, lc_uid);
+        CHECK_MEMBER(lustre_capa, lc_gid);
+        CHECK_MEMBER(lustre_capa, lc_flags);
+        CHECK_MEMBER(lustre_capa, lc_keyid);
+        CHECK_MEMBER(lustre_capa, lc_timeout);
+        CHECK_MEMBER(lustre_capa, lc_expiry);
+        CHECK_MEMBER(lustre_capa, lc_hmac[0]);
+}
+
+static void
+check_lustre_capa_key(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lustre_capa_key);
+        CHECK_MEMBER(lustre_capa_key, lk_seq);
+        CHECK_MEMBER(lustre_capa_key, lk_keyid);
+        CHECK_MEMBER(lustre_capa_key, lk_padding);
+        CHECK_MEMBER(lustre_capa_key, lk_key[0]);
+}
+
+static void
+check_mgs_send_param(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(mgs_send_param);
+        CHECK_MEMBER(mgs_send_param, mgs_param[0]);
+        CHECK_MEMBER(mgs_send_param, mgs_param[MGS_PARAM_MAXLEN - 1]);
+}
+
+static void
 check_mgs_target_info(void)
 {
         BLANK_LINE();
@@ -1165,6 +1333,125 @@ check_quota_adjust_qunit(void)
 }
 
 static void
+check_mds_remote_perm(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mds_remote_perm);
+        CHECK_MEMBER(mds_remote_perm, rp_uid);
+        CHECK_MEMBER(mds_remote_perm, rp_gid);
+        CHECK_MEMBER(mds_remote_perm, rp_fsuid);
+        CHECK_MEMBER(mds_remote_perm, rp_fsgid);
+        CHECK_MEMBER(mds_remote_perm, rp_access_perm);
+}
+
+static void
+check_mdt_remote_perm(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mdt_remote_perm);
+        CHECK_MEMBER(mdt_remote_perm, rp_uid);
+        CHECK_MEMBER(mdt_remote_perm, rp_gid);
+        CHECK_MEMBER(mdt_remote_perm, rp_fsuid);
+        CHECK_MEMBER(mdt_remote_perm, rp_fsgid);
+        CHECK_MEMBER(mdt_remote_perm, rp_access_perm);
+}
+
+static void
+check_mdt_rec_setxattr(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mdt_rec_setxattr);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_opcode);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_cap);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_fsuid);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_fsuid_h);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_fsgid);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_fsgid_h);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid1);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid2);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_fid);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_1);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_2);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_3);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_valid);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_time);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_5);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_6);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_7);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_size);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_flags);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_8);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_9);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_10);
+        CHECK_MEMBER(mdt_rec_setxattr, sx_padding_11);
+}
+
+static void
+check_mdt_rec_reint(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(mdt_rec_reint);
+        CHECK_MEMBER(mdt_rec_reint, rr_opcode);
+        CHECK_MEMBER(mdt_rec_reint, rr_cap);
+        CHECK_MEMBER(mdt_rec_reint, rr_fsuid);
+        CHECK_MEMBER(mdt_rec_reint, rr_fsuid_h);
+        CHECK_MEMBER(mdt_rec_reint, rr_fsgid);
+        CHECK_MEMBER(mdt_rec_reint, rr_fsgid_h);
+        CHECK_MEMBER(mdt_rec_reint, rr_suppgid1);
+        CHECK_MEMBER(mdt_rec_reint, rr_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_reint, rr_suppgid2);
+        CHECK_MEMBER(mdt_rec_reint, rr_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_reint, rr_fid1);
+        CHECK_MEMBER(mdt_rec_reint, rr_fid2);
+        CHECK_MEMBER(mdt_rec_reint, rr_mtime);
+        CHECK_MEMBER(mdt_rec_reint, rr_atime);
+        CHECK_MEMBER(mdt_rec_reint, rr_ctime);
+        CHECK_MEMBER(mdt_rec_reint, rr_size);
+        CHECK_MEMBER(mdt_rec_reint, rr_blocks);
+        CHECK_MEMBER(mdt_rec_reint, rr_bias);
+        CHECK_MEMBER(mdt_rec_reint, rr_mode);
+        CHECK_MEMBER(mdt_rec_reint, rr_padding_1);
+        CHECK_MEMBER(mdt_rec_reint, rr_padding_2);
+        CHECK_MEMBER(mdt_rec_reint, rr_padding_3);
+        CHECK_MEMBER(mdt_rec_reint, rr_padding_4);
+}
+
+static void
+check_lmv_desc(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lmv_desc);
+        CHECK_MEMBER(lmv_desc, ld_tgt_count);
+        CHECK_MEMBER(lmv_desc, ld_active_tgt_count);
+        CHECK_MEMBER(lmv_desc, ld_default_stripe_count);
+        CHECK_MEMBER(lmv_desc, ld_pattern);
+        CHECK_MEMBER(lmv_desc, ld_default_hash_size);
+        CHECK_MEMBER(lmv_desc, ld_padding_1);
+        CHECK_MEMBER(lmv_desc, ld_padding_2);
+        CHECK_MEMBER(lmv_desc, ld_qos_maxage);
+        CHECK_MEMBER(lmv_desc, ld_padding_3);
+        CHECK_MEMBER(lmv_desc, ld_padding_4);
+        CHECK_MEMBER(lmv_desc, ld_uuid);
+}
+
+static void
+check_lmv_stripe_md(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(lmv_stripe_md);
+        CHECK_MEMBER(lmv_stripe_md, mea_magic);
+        CHECK_MEMBER(lmv_stripe_md, mea_count);
+        CHECK_MEMBER(lmv_stripe_md, mea_master);
+        CHECK_MEMBER(lmv_stripe_md, mea_padding);
+        CHECK_MEMBER(lmv_stripe_md, mea_pool_name[0]);
+        CHECK_MEMBER(lmv_stripe_md, mea_ids[0]);
+}
+
+static void
+check_md_fld(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(md_fld);
+        CHECK_MEMBER(md_fld, mf_seq);
+        CHECK_MEMBER(md_fld, mf_mds);
+}
+
+static void
 check_ll_user_fiemap(void)
 {
         BLANK_LINE();
@@ -1229,6 +1516,17 @@ check_link_ea_entry(void)
         CHECK_MEMBER(link_ea_entry, lee_name);
 }
 
+static void
+check_getinfo_fid2path(void) {
+        BLANK_LINE();
+        CHECK_STRUCT(getinfo_fid2path);
+        CHECK_MEMBER(getinfo_fid2path, gf_fid);
+        CHECK_MEMBER(getinfo_fid2path, gf_recno);
+        CHECK_MEMBER(getinfo_fid2path, gf_linkno);
+        CHECK_MEMBER(getinfo_fid2path, gf_pathlen);
+        CHECK_MEMBER(getinfo_fid2path, gf_path[0]);
+}
+
 
 static void
 system_string (char *cmdline, char *str, int len)
@@ -1429,6 +1727,11 @@ main(int argc, char **argv)
         COMMENT("Sizes and Offsets");
         BLANK_LINE();
         CHECK_STRUCT(obd_uuid);
+        check_lu_seq_range();
+        check_lustre_mdt_attrs();
+        check_lu_dirent();
+        check_luda_type();
+        check_lu_dirpage();
         check_lustre_handle();
         check_lustre_msg_v2();
         check_ptlrpc_body();
@@ -1441,9 +1744,12 @@ main(int argc, char **argv)
         check_obd_quotactl();
         check_niobuf_remote();
         check_ost_body();
+        check_ll_fiemap_info_key();
         check_ll_fid();
         check_mds_status_req();
         check_mds_body();
+        check_mdt_body();
+        check_mdt_ioepoch();
         check_mdt_rec_setattr();
         check_mdt_rec_create();
         check_mdt_rec_link();
@@ -1472,8 +1778,10 @@ main(int argc, char **argv)
         check_llog_setattr_rec();
         check_llog_setattr64_rec();
         check_llog_size_change_rec();
+        check_changelog_setinfo();
         check_changelog_rec();
         check_llog_changelog_rec();
+        check_llog_changelog_user_rec();
         check_llog_gen();
         check_llog_gen_rec();
         check_llog_log_hdr();
@@ -1481,7 +1789,17 @@ main(int argc, char **argv)
         check_llogd_body();
         check_llogd_conn_body();
         check_qunit_data();
+        check_lustre_capa();
+        check_lustre_capa_key();
         check_quota_adjust_qunit();
+        check_mds_remote_perm();
+        check_mdt_remote_perm();
+        check_mdt_rec_setxattr();
+        check_mdt_rec_reint();
+        check_lmv_desc();
+        check_lmv_stripe_md();
+        check_md_fld();
+        check_mgs_send_param();
         check_mgs_target_info();
         check_lustre_disk_data();
         check_ll_user_fiemap();
@@ -1495,6 +1813,7 @@ main(int argc, char **argv)
         printf("#endif\n");
         check_link_ea_header();
         check_link_ea_entry();
+        check_getinfo_fid2path();
 
         printf("}\n\n");
 
index 7da51fd..bc6027e 100644 (file)
@@ -285,6 +285,122 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(struct obd_uuid) == 40, " found %lld\n",
                  (long long)(int)sizeof(struct obd_uuid));
 
+        /* Checks for struct lu_seq_range */
+        LASSERTF((int)sizeof(struct lu_seq_range) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_seq_range));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_start));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_start));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_end) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_end));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_end) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_end));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_mdt) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_mdt));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_mdt) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_mdt));
+        LASSERTF((int)offsetof(struct lu_seq_range, lsr_padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_seq_range, lsr_padding));
+        LASSERTF((int)sizeof(((struct lu_seq_range *)0)->lsr_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_seq_range *)0)->lsr_padding));
+
+        /* Checks for struct lustre_mdt_attrs */
+        LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 64, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_mdt_attrs));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_compat) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_compat));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_compat));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_incompat) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_incompat));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_incompat));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_self_fid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_self_fid));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_flags) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_flags));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_ioepoch) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_ioepoch));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_ioepoch));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_size) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_size));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_size));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_blocks) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_blocks));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_blocks));
+        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_som_mountid) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_som_mountid));
+        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_mountid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_som_mountid));
+
+        /* Checks for struct lu_dirent */
+        LASSERTF((int)sizeof(struct lu_dirent) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_dirent));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_fid));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_fid));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_hash) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_hash));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_hash) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_hash));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_reclen) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_reclen));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_reclen) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_reclen));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_namelen) == 26, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_namelen));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_namelen) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_namelen));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_attrs) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_attrs));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_attrs) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_attrs));
+        LASSERTF((int)offsetof(struct lu_dirent, lde_name[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirent, lde_name[0]));
+        LASSERTF((int)sizeof(((struct lu_dirent *)0)->lde_name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirent *)0)->lde_name[0]));
+
+        /* Checks for struct luda_type */
+        LASSERTF((int)sizeof(struct luda_type) == 2, " found %lld\n",
+                 (long long)(int)sizeof(struct luda_type));
+        LASSERTF((int)offsetof(struct luda_type, lt_type) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct luda_type, lt_type));
+        LASSERTF((int)sizeof(((struct luda_type *)0)->lt_type) == 2, " found %lld\n",
+                 (long long)(int)sizeof(((struct luda_type *)0)->lt_type));
+
+        /* Checks for struct lu_dirpage */
+        LASSERTF((int)sizeof(struct lu_dirpage) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct lu_dirpage));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_start) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_start));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_start));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_hash_end) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_hash_end));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_hash_end));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_flags));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_flags));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_pad0) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_pad0));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_pad0) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_pad0));
+        LASSERTF((int)offsetof(struct lu_dirpage, ldp_entries[0]) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lu_dirpage, ldp_entries[0]));
+        LASSERTF((int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct lu_dirpage *)0)->ldp_entries[0]));
+
         /* Checks for struct lustre_handle */
         LASSERTF((int)sizeof(struct lustre_handle) == 8, " found %lld\n",
                  (long long)(int)sizeof(struct lustre_handle));
@@ -1010,6 +1126,22 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, " found %lld\n",
                  (long long)(int)sizeof(((struct ost_body *)0)->oa));
 
+        /* Checks for struct ll_fiemap_info_key */
+        LASSERTF((int)sizeof(struct ll_fiemap_info_key) == 248, " found %lld\n",
+                 (long long)(int)sizeof(struct ll_fiemap_info_key));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, name[0]) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, name[0]));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->name[0]));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, oa) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, oa));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->oa) == 208, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->oa));
+        LASSERTF((int)offsetof(struct ll_fiemap_info_key, fiemap) == 216, " found %lld\n",
+                 (long long)(int)offsetof(struct ll_fiemap_info_key, fiemap));
+        LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap) == 32, " found %lld\n",
+                 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap));
+
         /* Checks for struct ll_fid */
         LASSERTF((int)sizeof(struct ll_fid) == 16, " found %lld\n",
                  (long long)(int)sizeof(struct ll_fid));
@@ -1175,6 +1307,162 @@ void lustre_assert_wire_constants(void)
         CLASSERT(MDS_INODELOCK_UPDATE == 0x000002);
         CLASSERT(MDS_INODELOCK_OPEN == 0x000004);
 
+        /* Checks for struct mdt_body */
+        LASSERTF((int)sizeof(struct mdt_body) == 216, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_body));
+        LASSERTF((int)offsetof(struct mdt_body, fid1) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fid1));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid1) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fid1));
+        LASSERTF((int)offsetof(struct mdt_body, fid2) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fid2));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fid2) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fid2));
+        LASSERTF((int)offsetof(struct mdt_body, handle) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, handle));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->handle) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->handle));
+        LASSERTF((int)offsetof(struct mdt_body, valid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, valid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->valid));
+        LASSERTF((int)offsetof(struct mdt_body, size) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, size));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->size));
+        LASSERTF((int)offsetof(struct mdt_body, mtime) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, mtime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->mtime));
+        LASSERTF((int)offsetof(struct mdt_body, atime) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, atime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->atime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->atime));
+        LASSERTF((int)offsetof(struct mdt_body, ctime) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ctime));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ctime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ctime));
+        LASSERTF((int)offsetof(struct mdt_body, blocks) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, blocks));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
+        LASSERTF((int)offsetof(struct mdt_body, ioepoch) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ioepoch));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ioepoch));
+        LASSERTF((int)offsetof(struct mdt_body, ino) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, ino));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->ino) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->ino));
+        LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fsuid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fsuid));
+        LASSERTF((int)offsetof(struct mdt_body, fsgid) == 108, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, fsgid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->fsgid));
+        LASSERTF((int)offsetof(struct mdt_body, capability) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, capability));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->capability) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->capability));
+        LASSERTF((int)offsetof(struct mdt_body, mode) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, mode));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->mode));
+        LASSERTF((int)offsetof(struct mdt_body, uid) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, uid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->uid));
+        LASSERTF((int)offsetof(struct mdt_body, gid) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, gid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->gid));
+        LASSERTF((int)offsetof(struct mdt_body, flags) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, flags));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->flags));
+        LASSERTF((int)offsetof(struct mdt_body, rdev) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, rdev));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->rdev) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->rdev));
+        LASSERTF((int)offsetof(struct mdt_body, nlink) == 136, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, nlink));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->nlink) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->nlink));
+        LASSERTF((int)offsetof(struct mdt_body, generation) == 140, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, generation));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->generation) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->generation));
+        LASSERTF((int)offsetof(struct mdt_body, suppgid) == 144, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, suppgid));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->suppgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->suppgid));
+        LASSERTF((int)offsetof(struct mdt_body, eadatasize) == 148, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, eadatasize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->eadatasize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->eadatasize));
+        LASSERTF((int)offsetof(struct mdt_body, aclsize) == 152, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, aclsize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->aclsize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->aclsize));
+        LASSERTF((int)offsetof(struct mdt_body, max_mdsize) == 156, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, max_mdsize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_mdsize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->max_mdsize));
+        LASSERTF((int)offsetof(struct mdt_body, max_cookiesize) == 160, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, max_cookiesize));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->max_cookiesize) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->max_cookiesize));
+        LASSERTF((int)offsetof(struct mdt_body, padding_4) == 164, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_4));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_4));
+        LASSERTF((int)offsetof(struct mdt_body, padding_5) == 168, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_5));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_5) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_5));
+        LASSERTF((int)offsetof(struct mdt_body, padding_6) == 176, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_6));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_6) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_6));
+        LASSERTF((int)offsetof(struct mdt_body, padding_7) == 184, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_7));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_7) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_7));
+        LASSERTF((int)offsetof(struct mdt_body, padding_8) == 192, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_8));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_8) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_8));
+        LASSERTF((int)offsetof(struct mdt_body, padding_9) == 200, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_9));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_9) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_9));
+        LASSERTF((int)offsetof(struct mdt_body, padding_10) == 208, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_body, padding_10));
+        LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_10) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_body *)0)->padding_10));
+
+        /* Checks for struct mdt_ioepoch */
+        LASSERTF((int)sizeof(struct mdt_ioepoch) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_ioepoch));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, handle) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, handle));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->handle) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->handle));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, ioepoch) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, ioepoch));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->ioepoch) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->ioepoch));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, flags));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->flags));
+        LASSERTF((int)offsetof(struct mdt_ioepoch, padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_ioepoch, padding));
+        LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_ioepoch *)0)->padding));
+
         /* Checks for struct mdt_rec_setattr */
         LASSERTF((int)sizeof(struct mdt_rec_setattr) == 136, " found %lld\n",
                  (long long)(int)sizeof(struct mdt_rec_setattr));
@@ -2193,6 +2481,18 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct llog_size_change_rec *)0)->lsc_tail) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_size_change_rec *)0)->lsc_tail));
 
+        /* Checks for struct changelog_setinfo */
+        LASSERTF((int)sizeof(struct changelog_setinfo) == 12, " found %lld\n",
+                 (long long)(int)sizeof(struct changelog_setinfo));
+        LASSERTF((int)offsetof(struct changelog_setinfo, cs_recno) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct changelog_setinfo, cs_recno));
+        LASSERTF((int)sizeof(((struct changelog_setinfo *)0)->cs_recno) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct changelog_setinfo *)0)->cs_recno));
+        LASSERTF((int)offsetof(struct changelog_setinfo, cs_id) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct changelog_setinfo, cs_id));
+        LASSERTF((int)sizeof(((struct changelog_setinfo *)0)->cs_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct changelog_setinfo *)0)->cs_id));
+
         /* Checks for struct changelog_rec */
         LASSERTF((int)sizeof(struct changelog_rec) == 64, " found %lld\n",
                  (long long)(int)sizeof(struct changelog_rec));
@@ -2245,6 +2545,30 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct llog_changelog_rec *)0)->cr_tail) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct llog_changelog_rec *)0)->cr_tail));
 
+        /* Checks for struct llog_changelog_user_rec */
+        LASSERTF((int)sizeof(struct llog_changelog_user_rec) == 40, " found %lld\n",
+                 (long long)(int)sizeof(struct llog_changelog_user_rec));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_hdr) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_hdr));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_hdr) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_hdr));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_id) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_id));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_id));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_padding) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_padding));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_padding));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_endrec) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_endrec));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_endrec) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_endrec));
+        LASSERTF((int)offsetof(struct llog_changelog_user_rec, cur_tail) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct llog_changelog_user_rec, cur_tail));
+        LASSERTF((int)sizeof(((struct llog_changelog_user_rec *)0)->cur_tail) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct llog_changelog_user_rec *)0)->cur_tail));
+
         /* Checks for struct llog_gen */
         LASSERTF((int)sizeof(struct llog_gen) == 16, " found %lld\n",
                  (long long)(int)sizeof(struct llog_gen));
@@ -2422,6 +2746,66 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct qunit_data *)0)->padding) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct qunit_data *)0)->padding));
 
+        /* Checks for struct lustre_capa */
+        LASSERTF((int)sizeof(struct lustre_capa) == 120, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_capa));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_fid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_fid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_opc) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_opc));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_opc) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_opc));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_uid) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_uid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_uid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_uid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_gid) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_gid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_gid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_gid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_flags) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_flags));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_flags));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_keyid) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_keyid));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_keyid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_keyid));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_timeout) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_timeout));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_timeout) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_timeout));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_expiry) == 52, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_expiry));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_expiry) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_expiry));
+        LASSERTF((int)offsetof(struct lustre_capa, lc_hmac[0]) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa, lc_hmac[0]));
+        LASSERTF((int)sizeof(((struct lustre_capa *)0)->lc_hmac[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa *)0)->lc_hmac[0]));
+
+        /* Checks for struct lustre_capa_key */
+        LASSERTF((int)sizeof(struct lustre_capa_key) == 72, " found %lld\n",
+                 (long long)(int)sizeof(struct lustre_capa_key));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_seq) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_seq));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_seq) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_seq));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_keyid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_keyid));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_keyid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_keyid));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_padding) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_padding));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_padding));
+        LASSERTF((int)offsetof(struct lustre_capa_key, lk_key[0]) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lustre_capa_key, lk_key[0]));
+        LASSERTF((int)sizeof(((struct lustre_capa_key *)0)->lk_key[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lustre_capa_key *)0)->lk_key[0]));
+
         /* Checks for struct quota_adjust_qunit */
         LASSERTF((int)sizeof(struct quota_adjust_qunit) == 32, " found %lld\n",
                  (long long)(int)sizeof(struct quota_adjust_qunit));
@@ -2446,6 +2830,354 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct quota_adjust_qunit *)0)->padding1) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct quota_adjust_qunit *)0)->padding1));
 
+        /* Checks for struct mds_remote_perm */
+        LASSERTF((int)sizeof(struct mds_remote_perm) == 20, " found %lld\n",
+                 (long long)(int)sizeof(struct mds_remote_perm));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_uid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_uid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_uid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_gid) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_gid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_gid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_fsuid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_fsuid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_fsgid) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_fsgid));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_fsgid));
+        LASSERTF((int)offsetof(struct mds_remote_perm, rp_access_perm) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_remote_perm, rp_access_perm));
+        LASSERTF((int)sizeof(((struct mds_remote_perm *)0)->rp_access_perm) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_remote_perm *)0)->rp_access_perm));
+
+        /* Checks for struct mdt_remote_perm */
+        LASSERTF((int)sizeof(struct mdt_remote_perm) == 20, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_remote_perm));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_uid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_uid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_uid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_gid) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_gid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_gid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsuid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_fsgid) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_fsgid));
+        LASSERTF((int)offsetof(struct mdt_remote_perm, rp_access_perm) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_remote_perm, rp_access_perm));
+        LASSERTF((int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_remote_perm *)0)->rp_access_perm));
+
+        /* Checks for struct mdt_rec_setxattr */
+        LASSERTF((int)sizeof(struct mdt_rec_setxattr) == 136, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_rec_setxattr));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_opcode) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_opcode));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_opcode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_opcode));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_cap) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_cap));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_cap) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_cap));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsuid_h) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsuid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsuid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsgid) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fsgid_h) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fsgid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fsgid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid1_h) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid1_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid1_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_suppgid2_h) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_suppgid2_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_suppgid2_h));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_fid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_fid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_fid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_1) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_1));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_1) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_1));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_2) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_2));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_2));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_3) == 68, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_3));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_3));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_valid) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_valid));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_valid));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_time) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_time));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_time) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_time));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_5) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_5));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_5) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_5));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_6) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_6));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_6) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_6));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_7) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_7));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_7) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_7));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_size) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_size));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_size) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_size));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_flags) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_flags));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_flags));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_8) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_8));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_8) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_8));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_9) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_9));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_9) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_9));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_10) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_10));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_10) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_10));
+        LASSERTF((int)offsetof(struct mdt_rec_setxattr, sx_padding_11) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_setxattr, sx_padding_11));
+        LASSERTF((int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_11) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_setxattr *)0)->sx_padding_11));
+
+        /* Checks for struct mdt_rec_reint */
+        LASSERTF((int)sizeof(struct mdt_rec_reint) == 136, " found %lld\n",
+                 (long long)(int)sizeof(struct mdt_rec_reint));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_opcode) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_opcode));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_opcode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_opcode));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_cap) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_cap));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_cap) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_cap));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsuid) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsuid));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsuid_h) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsuid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsuid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsgid) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsgid));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fsgid_h) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fsgid_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fsgid_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid1_h) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid1_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid1_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_suppgid2_h) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_suppgid2_h));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2_h) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_suppgid2_h));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fid1) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fid1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fid1) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fid1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_fid2) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_fid2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_fid2) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_fid2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_mtime) == 72, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_mtime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_mtime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_atime) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_atime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_atime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_atime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_ctime) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_ctime));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_ctime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_ctime));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_size) == 96, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_size));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_size));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_blocks) == 104, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_blocks));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_blocks) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_blocks));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_bias) == 112, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_bias));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_bias) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_bias));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_mode) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_mode));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_mode));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_1) == 120, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_1));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_1) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_1));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_2) == 124, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_2));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_3) == 128, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_3));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3));
+        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_4) == 132, " found %lld\n",
+                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_4));
+        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_4));
+
+        /* Checks for struct lmv_desc */
+        LASSERTF((int)sizeof(struct lmv_desc) == 88, " found %lld\n",
+                 (long long)(int)sizeof(struct lmv_desc));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_tgt_count) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_tgt_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_tgt_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_active_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_active_tgt_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_active_tgt_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_active_tgt_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_default_stripe_count) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_default_stripe_count));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_default_stripe_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_default_stripe_count));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_pattern) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_pattern));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_pattern) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_pattern));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_default_hash_size) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_default_hash_size));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_default_hash_size) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_default_hash_size));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_1) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_1));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_1) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_1));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_2) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_2));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_2) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_2));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_qos_maxage) == 36, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_qos_maxage));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_qos_maxage) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_qos_maxage));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_3) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_3));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_3) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_3));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_padding_4) == 44, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_padding_4));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_padding_4) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_padding_4));
+        LASSERTF((int)offsetof(struct lmv_desc, ld_uuid) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_desc, ld_uuid));
+        LASSERTF((int)sizeof(((struct lmv_desc *)0)->ld_uuid) == 40, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_desc *)0)->ld_uuid));
+
+        /* Checks for struct lmv_stripe_md */
+        LASSERTF((int)sizeof(struct lmv_stripe_md) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct lmv_stripe_md));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_magic) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_magic));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_magic) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_magic));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_count) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_count));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_count));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_master) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_master));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_master) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_master));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_padding) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_padding));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_padding) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_padding));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_pool_name[0]) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_pool_name[0]));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_pool_name[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_pool_name[0]));
+        LASSERTF((int)offsetof(struct lmv_stripe_md, mea_ids[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct lmv_stripe_md, mea_ids[0]));
+        LASSERTF((int)sizeof(((struct lmv_stripe_md *)0)->mea_ids[0]) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct lmv_stripe_md *)0)->mea_ids[0]));
+
+        /* Checks for struct md_fld */
+        LASSERTF((int)sizeof(struct md_fld) == 16, " found %lld\n",
+                 (long long)(int)sizeof(struct md_fld));
+        LASSERTF((int)offsetof(struct md_fld, mf_seq) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct md_fld, mf_seq));
+        LASSERTF((int)sizeof(((struct md_fld *)0)->mf_seq) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct md_fld *)0)->mf_seq));
+        LASSERTF((int)offsetof(struct md_fld, mf_mds) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct md_fld, mf_mds));
+        LASSERTF((int)sizeof(((struct md_fld *)0)->mf_mds) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct md_fld *)0)->mf_mds));
+
+        /* Checks for struct mgs_send_param */
+        LASSERTF((int)sizeof(struct mgs_send_param) == 1024, " found %lld\n",
+                 (long long)(int)sizeof(struct mgs_send_param));
+        LASSERTF((int)offsetof(struct mgs_send_param, mgs_param[0]) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct mgs_send_param, mgs_param[0]));
+        LASSERTF((int)sizeof(((struct mgs_send_param *)0)->mgs_param[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct mgs_send_param *)0)->mgs_param[0]));
+        LASSERTF((int)offsetof(struct mgs_send_param, mgs_param[1024 - 1]) == 1023, " found %lld\n",
+                 (long long)(int)offsetof(struct mgs_send_param, mgs_param[1024 - 1]));
+        LASSERTF((int)sizeof(((struct mgs_send_param *)0)->mgs_param[1024 - 1]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct mgs_send_param *)0)->mgs_param[1024 - 1]));
+
         /* Checks for struct mgs_target_info */
         LASSERTF((int)sizeof(struct mgs_target_info) == 4544, " found %lld\n",
                  (long long)(int)sizeof(struct mgs_target_info));
@@ -2690,5 +3422,29 @@ void lustre_assert_wire_constants(void)
                  (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));
+
+        /* Checks for struct getinfo_fid2path */
+        LASSERTF((int)sizeof(struct getinfo_fid2path) == 32, " found %lld\n",
+                 (long long)(int)sizeof(struct getinfo_fid2path));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_fid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_fid));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_fid) == 16, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_fid));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_recno) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_recno));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_recno) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_recno));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_linkno) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_linkno));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_linkno) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_linkno));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_pathlen) == 28, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_pathlen));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_pathlen) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_pathlen));
+        LASSERTF((int)offsetof(struct getinfo_fid2path, gf_path[0]) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct getinfo_fid2path, gf_path[0]));
+        LASSERTF((int)sizeof(((struct getinfo_fid2path *)0)->gf_path[0]) == 1, " found %lld\n",
+                 (long long)(int)sizeof(((struct getinfo_fid2path *)0)->gf_path[0]));
 }