Whamcloud - gitweb
LU-5319 ptlrpc: Add a tag field to ptlrpc messages
[fs/lustre-release.git] / lustre / ptlrpc / wiretest.c
index a85b05c..4a9ebdd 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2013, Intel Corporation.
+ * Copyright (c) 2011, 2014, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
  */
 
 #define DEBUG_SUBSYSTEM S_RPC
-#ifndef __KERNEL__
-# include <liblustre.h>
-#endif
 
-#ifdef __KERNEL__
-# ifdef CONFIG_FS_POSIX_ACL
-#  include <linux/fs.h>
-#  include <linux/posix_acl_xattr.h>
-# endif
-#endif
+#ifdef CONFIG_FS_POSIX_ACL
+# include <linux/fs.h>
+# include <linux/posix_acl_xattr.h>
+#endif /* CONFIG_FS_POSIX_ACL */
 
 #include <obd_support.h>
 #include <obd_class.h>
 #include <lustre_net.h>
+#include <lustre/lustre_lfsck_user.h>
 #include <lustre_disk.h>
+
+#include "ptlrpc_internal.h"
+
 void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux deva 2.6.32-358.18.1.el6_lustre.gdf685d2.x86_64 #1 SMP Sat Aug 31 20:41:4
-         * with gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)  */
+         * running on Linux q 2.6.32-431.5.1.el6.lustre.x86_64 #1 SMP Wed Feb 12 11:01:08 CST 2014 x8
+         * with gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)  */
+
 
        /* Constants... */
        LASSERTF(PTL_RPC_MSG_REQUEST == 4711, "found %lld\n",
@@ -197,7 +197,9 @@ void lustre_assert_wire_constants(void)
                 (long long)REINT_SETXATTR);
        LASSERTF(REINT_RMENTRY == 8, "found %lld\n",
                 (long long)REINT_RMENTRY);
-       LASSERTF(REINT_MAX == 9, "found %lld\n",
+       LASSERTF(REINT_MIGRATE == 9, "found %lld\n",
+                (long long)REINT_MIGRATE);
+       LASSERTF(REINT_MAX == 10, "found %lld\n",
                 (long long)REINT_MAX);
        LASSERTF(DISP_IT_EXECD == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)DISP_IT_EXECD);
@@ -289,6 +291,14 @@ void lustre_assert_wire_constants(void)
                 (long long)SEQ_FIRST_OPC);
        LASSERTF(SEQ_LAST_OPC == 701, "found %lld\n",
                 (long long)SEQ_LAST_OPC);
+       LASSERTF(LFSCK_NOTIFY == 1101, "found %lld\n",
+                (long long)LFSCK_NOTIFY);
+       LASSERTF(LFSCK_QUERY == 1102, "found %lld\n",
+                (long long)LFSCK_QUERY);
+       LASSERTF(LFSCK_FIRST_OPC == 1101, "found %lld\n",
+                (long long)LFSCK_FIRST_OPC);
+       LASSERTF(LFSCK_LAST_OPC == 1103, "found %lld\n",
+                (long long)LFSCK_LAST_OPC);
        LASSERTF(SEQ_ALLOC_SUPER == 0, "found %lld\n",
                 (long long)SEQ_ALLOC_SUPER);
        LASSERTF(SEQ_ALLOC_META == 1, "found %lld\n",
@@ -338,10 +348,10 @@ void lustre_assert_wire_constants(void)
        CLASSERT(LDLM_MAX_TYPE == 14);
        CLASSERT(LUSTRE_RES_ID_SEQ_OFF == 0);
        CLASSERT(LUSTRE_RES_ID_VER_OID_OFF == 1);
-       LASSERTF(UPDATE_OBJ == 1000, "found %lld\n",
-                (long long)UPDATE_OBJ);
-       LASSERTF(UPDATE_LAST_OPC == 1001, "found %lld\n",
-                (long long)UPDATE_LAST_OPC);
+       LASSERTF(OUT_UPDATE == 1000, "found %lld\n",
+                (long long)OUT_UPDATE);
+       LASSERTF(OUT_UPDATE_LAST_OPC == 1001, "found %lld\n",
+                (long long)OUT_UPDATE_LAST_OPC);
        CLASSERT(LUSTRE_RES_ID_QUOTA_SEQ_OFF == 2);
        CLASSERT(LUSTRE_RES_ID_QUOTA_VER_OID_OFF == 3);
        CLASSERT(LUSTRE_RES_ID_HSH_OFF == 3);
@@ -442,30 +452,30 @@ void lustre_assert_wire_constants(void)
                (unsigned)LMAC_NOT_IN_OI);
        LASSERTF(LMAC_FID_ON_OST == 0x00000008UL, "found 0x%.8xUL\n",
                (unsigned)LMAC_FID_ON_OST);
-       LASSERTF(OBJ_CREATE == 1, "found %lld\n",
-                (long long)OBJ_CREATE);
-       LASSERTF(OBJ_DESTROY == 2, "found %lld\n",
-                (long long)OBJ_DESTROY);
-       LASSERTF(OBJ_REF_ADD == 3, "found %lld\n",
-                (long long)OBJ_REF_ADD);
-       LASSERTF(OBJ_REF_DEL == 4, "found %lld\n",
-                (long long)OBJ_REF_DEL);
-       LASSERTF(OBJ_ATTR_SET == 5, "found %lld\n",
-                (long long)OBJ_ATTR_SET);
-       LASSERTF(OBJ_ATTR_GET == 6, "found %lld\n",
-                (long long)OBJ_ATTR_GET);
-       LASSERTF(OBJ_XATTR_SET == 7, "found %lld\n",
-                (long long)OBJ_XATTR_SET);
-       LASSERTF(OBJ_XATTR_GET == 8, "found %lld\n",
-                (long long)OBJ_XATTR_GET);
-       LASSERTF(OBJ_INDEX_LOOKUP == 9, "found %lld\n",
-                (long long)OBJ_INDEX_LOOKUP);
-       LASSERTF(OBJ_INDEX_LOOKUP == 9, "found %lld\n",
-                (long long)OBJ_INDEX_LOOKUP);
-       LASSERTF(OBJ_INDEX_INSERT == 10, "found %lld\n",
-                (long long)OBJ_INDEX_INSERT);
-       LASSERTF(OBJ_INDEX_DELETE == 11, "found %lld\n",
-                (long long)OBJ_INDEX_DELETE);
+       LASSERTF(OUT_CREATE == 1, "found %lld\n",
+                (long long)OUT_CREATE);
+       LASSERTF(OUT_DESTROY == 2, "found %lld\n",
+                (long long)OUT_DESTROY);
+       LASSERTF(OUT_REF_ADD == 3, "found %lld\n",
+                (long long)OUT_REF_ADD);
+       LASSERTF(OUT_REF_DEL == 4, "found %lld\n",
+                (long long)OUT_REF_DEL);
+       LASSERTF(OUT_ATTR_SET == 5, "found %lld\n",
+                (long long)OUT_ATTR_SET);
+       LASSERTF(OUT_ATTR_GET == 6, "found %lld\n",
+                (long long)OUT_ATTR_GET);
+       LASSERTF(OUT_XATTR_SET == 7, "found %lld\n",
+                (long long)OUT_XATTR_SET);
+       LASSERTF(OUT_XATTR_GET == 8, "found %lld\n",
+                (long long)OUT_XATTR_GET);
+       LASSERTF(OUT_INDEX_LOOKUP == 9, "found %lld\n",
+                (long long)OUT_INDEX_LOOKUP);
+       LASSERTF(OUT_INDEX_LOOKUP == 9, "found %lld\n",
+                (long long)OUT_INDEX_LOOKUP);
+       LASSERTF(OUT_INDEX_INSERT == 10, "found %lld\n",
+                (long long)OUT_INDEX_INSERT);
+       LASSERTF(OUT_INDEX_DELETE == 11, "found %lld\n",
+                (long long)OUT_INDEX_DELETE);
 
        /* Checks for struct som_attrs */
        LASSERTF((int)sizeof(struct som_attrs) == 40, "found %lld\n",
@@ -727,10 +737,18 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_xid));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid));
-       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_seen) == 32, "found %lld\n",
-                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_seen));
-       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_tag) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_tag));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_tag) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_tag));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding0) == 34, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding0));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding0) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding0));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding1) == 36, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding1));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding1));
        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_committed) == 40, "found %lld\n",
                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_last_committed));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed) == 8, "found %lld\n",
@@ -776,7 +794,7 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding) == 32, "found %lld\n",
                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding));
-       CLASSERT(JOBSTATS_JOBID_SIZE == 32);
+       CLASSERT(LUSTRE_JOBID_SIZE == 32);
        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_jobid) == 152, "found %lld\n",
                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_jobid));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid) == 32, "found %lld\n",
@@ -805,10 +823,18 @@ void lustre_assert_wire_constants(void)
                 (int)offsetof(struct ptlrpc_body_v3, pb_last_xid), (int)offsetof(struct ptlrpc_body_v2, pb_last_xid));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_xid), "%d != %d\n",
                 (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_xid), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_xid));
-       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_seen) == (int)offsetof(struct ptlrpc_body_v2, pb_last_seen), "%d != %d\n",
-                (int)offsetof(struct ptlrpc_body_v3, pb_last_seen), (int)offsetof(struct ptlrpc_body_v2, pb_last_seen));
-       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_seen), "%d != %d\n",
-                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_seen), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_seen));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_tag) == (int)offsetof(struct ptlrpc_body_v2, pb_tag), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_tag), (int)offsetof(struct ptlrpc_body_v2, pb_tag));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_tag) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_tag), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_tag), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_tag));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding0) == (int)offsetof(struct ptlrpc_body_v2, pb_padding0), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_padding0), (int)offsetof(struct ptlrpc_body_v2, pb_padding0));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding0) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding0), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding0), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding0));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding1) == (int)offsetof(struct ptlrpc_body_v2, pb_padding1), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_padding1), (int)offsetof(struct ptlrpc_body_v2, pb_padding1));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding1) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding1), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding1), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding1));
        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_committed) == (int)offsetof(struct ptlrpc_body_v2, pb_last_committed), "%d != %d\n",
                 (int)offsetof(struct ptlrpc_body_v3, pb_last_committed), (int)offsetof(struct ptlrpc_body_v2, pb_last_committed));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_committed), "%d != %d\n",
@@ -997,9 +1023,17 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct obd_connect_data, ocd_maxbytes));
        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_maxbytes));
-       LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 72, "found %lld\n",
+       LASSERTF((int)offsetof(struct obd_connect_data, ocd_maxmodrpcs) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, ocd_maxmodrpcs));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_maxmodrpcs) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_maxmodrpcs));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding0) == 74, "found %lld\n",
+                (long long)(int)offsetof(struct obd_connect_data, padding0));
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding0) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_connect_data *)0)->padding0));
+       LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 76, "found %lld\n",
                 (long long)(int)offsetof(struct obd_connect_data, padding1));
-       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 8, "found %lld\n",
+       LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding1));
        LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 80, "found %lld\n",
                 (long long)(int)offsetof(struct obd_connect_data, padding2));
@@ -1163,6 +1197,14 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT_FLOCK_DEAD);
        LASSERTF(OBD_CONNECT_OPEN_BY_FID == 0x20000000000000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT_OPEN_BY_FID);
+       LASSERTF(OBD_CONNECT_LFSCK == 0x40000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LFSCK);
+       LASSERTF(OBD_CONNECT_UNLINK_CLOSE == 0x100000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_UNLINK_CLOSE);
+       LASSERTF(OBD_CONNECT_MULTIMODRPCS == 0x200000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_MULTIMODRPCS);
+       LASSERTF(OBD_CONNECT_DIR_STRIPE == 0x400000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_DIR_STRIPE);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)OBD_CKSUM_CRC32);
        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
@@ -1401,6 +1443,8 @@ void lustre_assert_wire_constants(void)
        CLASSERT(OBD_FL_MMAP == 0x00040000);
        CLASSERT(OBD_FL_RECOV_RESEND == 0x00080000);
        CLASSERT(OBD_FL_NOSPC_BLK == 0x00100000);
+       CLASSERT(OBD_FL_FLUSH == 0x00200000);
+       CLASSERT(OBD_FL_SHORT_IO == 0x00400000);
        CLASSERT(OBD_FL_LOCAL_MASK == 0xf0000000);
 
        /* Checks for struct lov_ost_data_v1 */
@@ -1450,7 +1494,7 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_objects[0]));
        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]) == 24, "found %lld\n",
                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_objects[0]));
-       CLASSERT(LOV_MAGIC_V1 == 0x0BD10BD0);
+       CLASSERT(LOV_MAGIC_V1 == (0x0BD10000 | 0x0BD0));
 
        /* Checks for struct lov_mds_md_v3 */
        LASSERTF((int)sizeof(struct lov_mds_md_v3) == 48, "found %lld\n",
@@ -1479,7 +1523,7 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_layout_gen));
        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen) == 2, "found %lld\n",
                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_layout_gen));
-       CLASSERT(LOV_MAXPOOLNAME == 16);
+       CLASSERT(LOV_MAXPOOLNAME == 15);
        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]) == 48, "found %lld\n",
                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pool_name[16]));
        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]) == 1, "found %lld\n",
@@ -1488,7 +1532,7 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_objects[0]));
        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]) == 24, "found %lld\n",
                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_objects[0]));
-       CLASSERT(LOV_MAGIC_V3 == 0x0BD30BD0);
+       CLASSERT(LOV_MAGIC_V3 == (0x0BD30000 | 0x0BD0));
        LASSERTF(LOV_PATTERN_RAID0 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)LOV_PATTERN_RAID0);
        LASSERTF(LOV_PATTERN_RAID1 == 0x00000002UL, "found 0x%.8xUL\n",
@@ -1498,6 +1542,57 @@ void lustre_assert_wire_constants(void)
        LASSERTF(LOV_PATTERN_CMOBD == 0x00000200UL, "found 0x%.8xUL\n",
                (unsigned)LOV_PATTERN_CMOBD);
 
+       /* Checks for struct lmv_mds_md_v1 */
+       LASSERTF((int)sizeof(struct lmv_mds_md_v1) == 56, "found %lld\n",
+                (long long)(int)sizeof(struct lmv_mds_md_v1));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_magic));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_magic));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_stripe_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_stripe_count));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_stripe_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_stripe_count));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_master_mdt_index) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_master_mdt_index));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_master_mdt_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_master_mdt_index));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_hash_type) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_hash_type));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_hash_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_hash_type));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_layout_version) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_layout_version));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_layout_version) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_layout_version));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_padding1) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_padding1));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding1));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_padding2) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_padding2));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding2));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_padding3) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_padding3));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding3) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_padding3));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_pool_name[16]) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_pool_name[16]));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_pool_name[16]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_pool_name[16]));
+       LASSERTF((int)offsetof(struct lmv_mds_md_v1, lmv_stripe_fids[0]) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_stripe_fids[0]));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_stripe_fids[0]) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_stripe_fids[0]));
+       CLASSERT(LMV_MAGIC_V1 == 0x0CD20CD0);
+       CLASSERT(LMV_MAGIC_STRIPE == 0x0CD40CD0);
+       CLASSERT(LMV_HASH_TYPE_MASK == 0x0000ffff);
+       CLASSERT(LMV_HASH_FLAG_MIGRATION == 0x80000000);
+       CLASSERT(LMV_HASH_FLAG_DEAD == 0x40000000);
+       CLASSERT(LMV_HASH_FLAG_BAD_TYPE == 0x20000000);
+       CLASSERT(LMV_HASH_FLAG_LOST_LMV == 0x10000000);
+
        /* Checks for struct obd_statfs */
        LASSERTF((int)sizeof(struct obd_statfs) == 144, "found %lld\n",
                 (long long)(int)sizeof(struct obd_statfs));
@@ -1836,18 +1931,18 @@ void lustre_assert_wire_constants(void)
        /* Checks for struct niobuf_remote */
        LASSERTF((int)sizeof(struct niobuf_remote) == 16, "found %lld\n",
                 (long long)(int)sizeof(struct niobuf_remote));
-       LASSERTF((int)offsetof(struct niobuf_remote, offset) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct niobuf_remote, offset));
-       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->offset) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct niobuf_remote *)0)->offset));
-       LASSERTF((int)offsetof(struct niobuf_remote, len) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct niobuf_remote, len));
-       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->len) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct niobuf_remote *)0)->len));
-       LASSERTF((int)offsetof(struct niobuf_remote, flags) == 12, "found %lld\n",
-                (long long)(int)offsetof(struct niobuf_remote, flags));
-       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->flags) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct niobuf_remote *)0)->flags));
+       LASSERTF((int)offsetof(struct niobuf_remote, rnb_offset) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, rnb_offset));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->rnb_offset) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->rnb_offset));
+       LASSERTF((int)offsetof(struct niobuf_remote, rnb_len) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, rnb_len));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->rnb_len) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->rnb_len));
+       LASSERTF((int)offsetof(struct niobuf_remote, rnb_flags) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct niobuf_remote, rnb_flags));
+       LASSERTF((int)sizeof(((struct niobuf_remote *)0)->rnb_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct niobuf_remote *)0)->rnb_flags));
        LASSERTF(OBD_BRW_READ == 0x01, "found 0x%.8x\n",
                OBD_BRW_READ);
        LASSERTF(OBD_BRW_WRITE == 0x02, "found 0x%.8x\n",
@@ -1904,138 +1999,138 @@ void lustre_assert_wire_constants(void)
        /* 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, t_state) == 96, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, t_state));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->t_state) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->t_state));
-       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, unused2) == 140, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, unused2));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->unused2) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->unused2));
-       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, uid_h) == 164, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, uid_h));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->uid_h) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->uid_h));
-       LASSERTF((int)offsetof(struct mdt_body, gid_h) == 168, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, gid_h));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->gid_h) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->gid_h));
-       LASSERTF((int)offsetof(struct mdt_body, padding_5) == 172, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, padding_5));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->padding_5) == 4, "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));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_fid1) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_fid1));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_fid1) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_fid1));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_fid2) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_fid2));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_fid2) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_fid2));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_handle) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_handle));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_handle));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_valid) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_valid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_valid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_valid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_size) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_size));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_size));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_mtime) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_mtime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_mtime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_mtime));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_atime) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_atime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_atime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_atime));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_ctime) == 72, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_ctime));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_ctime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_ctime));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_blocks) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_blocks));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_blocks) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_blocks));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_t_state) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_t_state));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_t_state) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_t_state));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_fsuid) == 104, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_fsuid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_fsuid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_fsuid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_fsgid) == 108, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_fsgid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_fsgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_fsgid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_capability) == 112, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_capability));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_capability) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_capability));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_mode) == 116, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_mode));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_mode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_mode));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_uid) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_uid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_uid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_gid) == 124, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_gid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_gid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_flags) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_flags));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_flags));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_rdev) == 132, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_rdev));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_rdev) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_rdev));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_nlink) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_nlink));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_nlink) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_nlink));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_unused2) == 140, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_unused2));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_unused2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_unused2));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_suppgid) == 144, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_suppgid));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_suppgid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_suppgid));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_eadatasize) == 148, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_eadatasize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_eadatasize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_eadatasize));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_aclsize) == 152, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_aclsize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_aclsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_aclsize));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_max_mdsize) == 156, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_max_mdsize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_max_mdsize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_max_mdsize));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_max_cookiesize) == 160, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_max_cookiesize));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_max_cookiesize) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_max_cookiesize));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_uid_h) == 164, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_uid_h));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_uid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_uid_h));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_gid_h) == 168, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_gid_h));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_gid_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_gid_h));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_5) == 172, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_5));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_5) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_5));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_6) == 176, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_6));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_6) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_6));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_7) == 184, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_7));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_7) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_7));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_8) == 192, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_8));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_8) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_8));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_9) == 200, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_9));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_9) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_9));
+       LASSERTF((int)offsetof(struct mdt_body, mbo_padding_10) == 208, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_padding_10));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_padding_10) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_padding_10));
        LASSERTF(MDS_FMODE_CLOSED == 000000000000UL, "found 0%.11oUL\n",
                MDS_FMODE_CLOSED);
        LASSERTF(MDS_FMODE_EXEC == 000000000004UL, "found 0%.11oUL\n",
@@ -3444,10 +3539,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_gid_h));
        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid_h) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_gid_h));
-       LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_padding) == 48, "found %lld\n",
-                (long long)(int)offsetof(struct llog_setattr64_rec, lsr_padding));
-       LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_padding) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_padding));
+       LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_valid) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct llog_setattr64_rec, lsr_valid));
+       LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_valid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_valid));
        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_tail) == 56, "found %lld\n",
                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_tail));
        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_tail) == 8, "found %lld\n",
@@ -3521,49 +3616,25 @@ void lustre_assert_wire_constants(void)
        LASSERTF((int)sizeof(((struct changelog_rec *)0)->cr_pfid) == 16, "found %lld\n",
                 (long long)(int)sizeof(((struct changelog_rec *)0)->cr_pfid));
 
-       /* Checks for struct changelog_ext_rec */
-       LASSERTF((int)sizeof(struct changelog_ext_rec) == 96, "found %lld\n",
-                (long long)(int)sizeof(struct changelog_ext_rec));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_namelen) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_namelen));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_namelen) == 2, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_namelen));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_flags) == 2, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_flags));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_flags) == 2, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_flags));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_type) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_type));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_type) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_type));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_index) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_index));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_index) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_index));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_prev) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_prev));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_prev) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_prev));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_time) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_time));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_time) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_time));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_tfid) == 32, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_tfid));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_tfid) == 16, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_tfid));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_pfid) == 48, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_pfid));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_pfid) == 16, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_pfid));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_sfid) == 64, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_sfid));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_sfid) == 16, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_sfid));
-       LASSERTF((int)offsetof(struct changelog_ext_rec, cr_spfid) == 80, "found %lld\n",
-                (long long)(int)offsetof(struct changelog_ext_rec, cr_spfid));
-       LASSERTF((int)sizeof(((struct changelog_ext_rec *)0)->cr_spfid) == 16, "found %lld\n",
-                (long long)(int)sizeof(((struct changelog_ext_rec *)0)->cr_spfid));
+       /* Checks for struct changelog_ext_rename */
+       LASSERTF((int)sizeof(struct changelog_ext_rename) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct changelog_ext_rename));
+       LASSERTF((int)offsetof(struct changelog_ext_rename, cr_sfid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct changelog_ext_rename, cr_sfid));
+       LASSERTF((int)sizeof(((struct changelog_ext_rename *)0)->cr_sfid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct changelog_ext_rename *)0)->cr_sfid));
+       LASSERTF((int)offsetof(struct changelog_ext_rename, cr_spfid) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct changelog_ext_rename, cr_spfid));
+       LASSERTF((int)sizeof(((struct changelog_ext_rename *)0)->cr_spfid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct changelog_ext_rename *)0)->cr_spfid));
+
+       /* Checks for struct changelog_ext_jobid */
+       LASSERTF((int)sizeof(struct changelog_ext_jobid) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct changelog_ext_jobid));
+       LASSERTF((int)offsetof(struct changelog_ext_jobid, cr_jobid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct changelog_ext_jobid, cr_jobid));
+       LASSERTF((int)sizeof(((struct changelog_ext_jobid *)0)->cr_jobid) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct changelog_ext_jobid *)0)->cr_jobid));
 
        /* Checks for struct changelog_setinfo */
        LASSERTF((int)sizeof(struct changelog_setinfo) == 12, "found %lld\n",
@@ -3588,10 +3659,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct llog_changelog_rec, cr));
        LASSERTF((int)sizeof(((struct llog_changelog_rec *)0)->cr) == 64, "found %lld\n",
                 (long long)(int)sizeof(((struct llog_changelog_rec *)0)->cr));
-       LASSERTF((int)offsetof(struct llog_changelog_rec, cr_tail) == 80, "found %lld\n",
-                (long long)(int)offsetof(struct llog_changelog_rec, cr_tail));
-       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));
+       LASSERTF((int)offsetof(struct llog_changelog_rec, cr_do_not_use) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct llog_changelog_rec, cr_do_not_use));
+       LASSERTF((int)sizeof(((struct llog_changelog_rec *)0)->cr_do_not_use) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_changelog_rec *)0)->cr_do_not_use));
 
        /* Checks for struct llog_changelog_user_rec */
        LASSERTF((int)sizeof(struct llog_changelog_user_rec) == 40, "found %lld\n",
@@ -3755,6 +3826,19 @@ void lustre_assert_wire_constants(void)
        CLASSERT(LLOG_ORIGIN_HANDLE_DESTROY == 509);
        CLASSERT(LLOG_FIRST_OPC == 501);
        CLASSERT(LLOG_LAST_OPC == 510);
+       CLASSERT(LLOG_CONFIG_ORIG_CTXT == 0);
+       CLASSERT(LLOG_CONFIG_REPL_CTXT == 1);
+       CLASSERT(LLOG_MDS_OST_ORIG_CTXT == 2);
+       CLASSERT(LLOG_MDS_OST_REPL_CTXT == 3);
+       CLASSERT(LLOG_SIZE_ORIG_CTXT == 4);
+       CLASSERT(LLOG_SIZE_REPL_CTXT == 5);
+       CLASSERT(LLOG_TEST_ORIG_CTXT == 8);
+       CLASSERT(LLOG_TEST_REPL_CTXT == 9);
+       CLASSERT(LLOG_CHANGELOG_ORIG_CTXT == 12);
+       CLASSERT(LLOG_CHANGELOG_REPL_CTXT == 13);
+       CLASSERT(LLOG_CHANGELOG_USER_ORIG_CTXT == 14);
+       CLASSERT(LLOG_AGENT_ORIG_CTXT == 15);
+       CLASSERT(LLOG_MAX_CTXTS == 16);
 
        /* Checks for struct llogd_conn_body */
        LASSERTF((int)sizeof(struct llogd_conn_body) == 40, "found %lld\n",
@@ -4036,8 +4120,8 @@ void lustre_assert_wire_constants(void)
        CLASSERT(FIEMAP_EXTENT_MERGED == 0x00001000);
        CLASSERT(FIEMAP_EXTENT_NO_DIRECT == 0x40000000);
        CLASSERT(FIEMAP_EXTENT_NET == 0x80000000);
-#ifdef LIBLUSTRE_POSIX_ACL
 
+#ifdef CONFIG_FS_POSIX_ACL
        /* Checks for type posix_acl_xattr_entry */
        LASSERTF((int)sizeof(posix_acl_xattr_entry) == 8, "found %lld\n",
                 (long long)(int)sizeof(posix_acl_xattr_entry));
@@ -4053,7 +4137,9 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(posix_acl_xattr_entry, e_id));
        LASSERTF((int)sizeof(((posix_acl_xattr_entry *)0)->e_id) == 4, "found %lld\n",
                 (long long)(int)sizeof(((posix_acl_xattr_entry *)0)->e_id));
+#endif /* CONFIG_FS_POSIX_ACL */
 
+#ifdef CONFIG_FS_POSIX_ACL
        /* Checks for type posix_acl_xattr_header */
        LASSERTF((int)sizeof(posix_acl_xattr_header) == 4, "found %lld\n",
                 (long long)(int)sizeof(posix_acl_xattr_header));
@@ -4065,7 +4151,7 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(posix_acl_xattr_header, a_entries));
        LASSERTF((int)sizeof(((posix_acl_xattr_header *)0)->a_entries) == 0, "found %lld\n",
                 (long long)(int)sizeof(((posix_acl_xattr_header *)0)->a_entries));
-#endif
+#endif /* CONFIG_FS_POSIX_ACL */
 
        /* Checks for struct link_ea_header */
        LASSERTF((int)sizeof(struct link_ea_header) == 24, "found %lld\n",
@@ -4451,60 +4537,245 @@ void lustre_assert_wire_constants(void)
        LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_archive_id) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_archive_id));
 
-       /* Checks for struct update_buf */
-       LASSERTF((int)sizeof(struct update_buf) == 8, "found %lld\n",
-                (long long)(int)sizeof(struct update_buf));
-       LASSERTF((int)offsetof(struct update_buf, ub_magic) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct update_buf, ub_magic));
-       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_magic) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update_buf *)0)->ub_magic));
-       LASSERTF((int)offsetof(struct update_buf, ub_count) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct update_buf, ub_count));
-       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_count) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update_buf *)0)->ub_count));
-       LASSERTF((int)offsetof(struct update_buf, ub_bufs) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct update_buf, ub_bufs));
-       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_bufs) == 0, "found %lld\n",
-                (long long)(int)sizeof(((struct update_buf *)0)->ub_bufs));
+       /* Checks for struct object_update_param */
+       LASSERTF((int)sizeof(struct object_update_param) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct object_update_param));
+       LASSERTF((int)offsetof(struct object_update_param, oup_len) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_param, oup_len));
+       LASSERTF((int)sizeof(((struct object_update_param *)0)->oup_len) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_param *)0)->oup_len));
+       LASSERTF((int)offsetof(struct object_update_param, oup_padding) == 2, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_param, oup_padding));
+       LASSERTF((int)sizeof(((struct object_update_param *)0)->oup_padding) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_param *)0)->oup_padding));
+       LASSERTF((int)offsetof(struct object_update_param, oup_padding2) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_param, oup_padding2));
+       LASSERTF((int)sizeof(((struct object_update_param *)0)->oup_padding2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_param *)0)->oup_padding2));
+       LASSERTF((int)offsetof(struct object_update_param, oup_buf) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_param, oup_buf));
+       LASSERTF((int)sizeof(((struct object_update_param *)0)->oup_buf) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_param *)0)->oup_buf));
 
-       /* Checks for struct update_reply */
-       LASSERTF((int)sizeof(struct update_reply) == 8, "found %lld\n",
-                (long long)(int)sizeof(struct update_reply));
-       LASSERTF((int)offsetof(struct update_reply, ur_version) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct update_reply, ur_version));
-       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_version) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update_reply *)0)->ur_version));
-       LASSERTF((int)offsetof(struct update_reply, ur_count) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct update_reply, ur_count));
-       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_count) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update_reply *)0)->ur_count));
-       LASSERTF((int)offsetof(struct update_reply, ur_lens) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct update_reply, ur_lens));
-       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_lens) == 0, "found %lld\n",
-                (long long)(int)sizeof(((struct update_reply *)0)->ur_lens));
+       /* Checks for struct object_update */
+       LASSERTF((int)sizeof(struct object_update) == 40, "found %lld\n",
+                (long long)(int)sizeof(struct object_update));
+       LASSERTF((int)offsetof(struct object_update, ou_type) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_type));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_type) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_type));
+       LASSERTF((int)offsetof(struct object_update, ou_params_count) == 2, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_params_count));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_params_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_params_count));
+       LASSERTF((int)offsetof(struct object_update, ou_master_index) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_master_index));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_master_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_master_index));
+       LASSERTF((int)offsetof(struct object_update, ou_flags) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_flags));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_flags));
+       LASSERTF((int)offsetof(struct object_update, ou_padding1) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_padding1));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_padding1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_padding1));
+       LASSERTF((int)offsetof(struct object_update, ou_batchid) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_batchid));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_batchid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_batchid));
+       LASSERTF((int)offsetof(struct object_update, ou_fid) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_fid));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_fid));
+       LASSERTF((int)offsetof(struct object_update, ou_params) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_params));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_params) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_params));
 
-       /* Checks for struct update */
-       LASSERTF((int)sizeof(struct update) == 56, "found %lld\n",
-                (long long)(int)sizeof(struct update));
-       LASSERTF((int)offsetof(struct update, u_type) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct update, u_type));
-       LASSERTF((int)sizeof(((struct update *)0)->u_type) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update *)0)->u_type));
-       LASSERTF((int)offsetof(struct update, u_batchid) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct update, u_batchid));
-       LASSERTF((int)sizeof(((struct update *)0)->u_batchid) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct update *)0)->u_batchid));
-       LASSERTF((int)offsetof(struct update, u_fid) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct update, u_fid));
-       LASSERTF((int)sizeof(((struct update *)0)->u_fid) == 16, "found %lld\n",
-                (long long)(int)sizeof(((struct update *)0)->u_fid));
-       LASSERTF((int)offsetof(struct update, u_lens) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct update, u_lens));
-       LASSERTF((int)sizeof(((struct update *)0)->u_lens) == 32, "found %lld\n",
-                (long long)(int)sizeof(((struct update *)0)->u_lens));
-       LASSERTF((int)offsetof(struct update, u_bufs) == 56, "found %lld\n",
-                (long long)(int)offsetof(struct update, u_bufs));
-       LASSERTF((int)sizeof(((struct update *)0)->u_bufs) == 0, "found %lld\n",
-                (long long)(int)sizeof(((struct update *)0)->u_bufs));
-}
+       /* Checks for struct object_update_request */
+       LASSERTF((int)sizeof(struct object_update_request) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct object_update_request));
+       LASSERTF((int)offsetof(struct object_update_request, ourq_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_request, ourq_magic));
+       LASSERTF((int)sizeof(((struct object_update_request *)0)->ourq_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_request *)0)->ourq_magic));
+       LASSERTF((int)offsetof(struct object_update_request, ourq_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_request, ourq_count));
+       LASSERTF((int)sizeof(((struct object_update_request *)0)->ourq_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_request *)0)->ourq_count));
+       LASSERTF((int)offsetof(struct object_update_request, ourq_padding) == 6, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_request, ourq_padding));
+       LASSERTF((int)sizeof(((struct object_update_request *)0)->ourq_padding) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_request *)0)->ourq_padding));
+       LASSERTF((int)offsetof(struct object_update_request, ourq_updates) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_request, ourq_updates));
+       LASSERTF((int)sizeof(((struct object_update_request *)0)->ourq_updates) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_request *)0)->ourq_updates));
+
+       /* Checks for struct object_update_result */
+       LASSERTF((int)sizeof(struct object_update_result) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct object_update_result));
+       LASSERTF((int)offsetof(struct object_update_result, our_rc) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_result, our_rc));
+       LASSERTF((int)sizeof(((struct object_update_result *)0)->our_rc) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_result *)0)->our_rc));
+       LASSERTF((int)offsetof(struct object_update_result, our_datalen) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_result, our_datalen));
+       LASSERTF((int)sizeof(((struct object_update_result *)0)->our_datalen) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_result *)0)->our_datalen));
+       LASSERTF((int)offsetof(struct object_update_result, our_padding) == 6, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_result, our_padding));
+       LASSERTF((int)sizeof(((struct object_update_result *)0)->our_padding) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_result *)0)->our_padding));
+       LASSERTF((int)offsetof(struct object_update_result, our_data) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_result, our_data));
+       LASSERTF((int)sizeof(((struct object_update_result *)0)->our_data) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_result *)0)->our_data));
+
+       /* Checks for struct object_update_reply */
+       LASSERTF((int)sizeof(struct object_update_reply) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct object_update_reply));
+       LASSERTF((int)offsetof(struct object_update_reply, ourp_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_reply, ourp_magic));
+       LASSERTF((int)sizeof(((struct object_update_reply *)0)->ourp_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_reply *)0)->ourp_magic));
+       LASSERTF((int)offsetof(struct object_update_reply, ourp_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_reply, ourp_count));
+       LASSERTF((int)sizeof(((struct object_update_reply *)0)->ourp_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_reply *)0)->ourp_count));
+       LASSERTF((int)offsetof(struct object_update_reply, ourp_padding) == 6, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_reply, ourp_padding));
+       LASSERTF((int)sizeof(((struct object_update_reply *)0)->ourp_padding) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_reply *)0)->ourp_padding));
+       LASSERTF((int)offsetof(struct object_update_reply, ourp_lens) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct object_update_reply, ourp_lens));
+       LASSERTF((int)sizeof(((struct object_update_reply *)0)->ourp_lens) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update_reply *)0)->ourp_lens));
 
+       /* Checks for struct lfsck_request */
+       LASSERTF((int)sizeof(struct lfsck_request) == 96, "found %lld\n",
+                (long long)(int)sizeof(struct lfsck_request));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_event) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_event));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_event) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_event));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_index) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_index));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_index));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_flags) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_flags));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_flags));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_valid) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_valid));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_valid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_valid));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_speed) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_speed));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_speed) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_speed));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_version) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_version));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_version) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_version));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_active) == 22, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_active));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_active) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_active));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_param) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_param));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_param) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_param));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_async_windows) == 26, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_async_windows));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_async_windows) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_async_windows));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_flags) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_flags));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_flags));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_fid) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_fid));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_fid));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_fid2) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_fid2));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_fid2) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_fid2));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_fid3) == 64, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_fid3));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_fid3) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_fid3));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_padding_1) == 80, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_padding_1));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_padding_1) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_padding_1));
+       LASSERTF((int)offsetof(struct lfsck_request, lr_padding_2) == 88, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_request, lr_padding_2));
+       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_padding_2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_padding_2));
+       LASSERTF(LFSCK_TYPE_SCRUB == 0x00000000UL, "found 0x%.8xUL\n",
+               (unsigned)LFSCK_TYPE_SCRUB);
+       LASSERTF(LFSCK_TYPE_LAYOUT == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LFSCK_TYPE_LAYOUT);
+       LASSERTF(LFSCK_TYPE_NAMESPACE == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)LFSCK_TYPE_NAMESPACE);
+       LASSERTF(LE_LASTID_REBUILDING == 1, "found %lld\n",
+                (long long)LE_LASTID_REBUILDING);
+       LASSERTF(LE_LASTID_REBUILT == 2, "found %lld\n",
+                (long long)LE_LASTID_REBUILT);
+       LASSERTF(LE_PHASE1_DONE == 3, "found %lld\n",
+                (long long)LE_PHASE1_DONE);
+       LASSERTF(LE_PHASE2_DONE == 4, "found %lld\n",
+                (long long)LE_PHASE2_DONE);
+       LASSERTF(LE_START == 5, "found %lld\n",
+                (long long)LE_START);
+       LASSERTF(LE_STOP == 6, "found %lld\n",
+                (long long)LE_STOP);
+       LASSERTF(LE_QUERY == 7, "found %lld\n",
+                (long long)LE_QUERY);
+       LASSERTF(LE_FID_ACCESSED == 8, "found %lld\n",
+                (long long)LE_FID_ACCESSED);
+       LASSERTF(LE_PEER_EXIT == 9, "found %lld\n",
+                (long long)LE_PEER_EXIT);
+       LASSERTF(LE_CONDITIONAL_DESTROY == 10, "found %lld\n",
+                (long long)LE_CONDITIONAL_DESTROY);
+       LASSERTF(LE_PAIRS_VERIFY == 11, "found %lld\n",
+                (long long)LE_PAIRS_VERIFY);
+       LASSERTF(LE_SKIP_NLINK_DECLARE == 13, "found %lld\n",
+                (long long)LE_SKIP_NLINK_DECLARE);
+       LASSERTF(LE_SKIP_NLINK == 14, "found %lld\n",
+                (long long)LE_SKIP_NLINK);
+       LASSERTF(LE_SET_LMV_MASTER == 15, "found %lld\n",
+                (long long)LE_SET_LMV_MASTER);
+       LASSERTF(LE_SET_LMV_SLAVE == 16, "found %lld\n",
+                (long long)LE_SET_LMV_SLAVE);
+       LASSERTF(LEF_TO_OST == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)LEF_TO_OST);
+       LASSERTF(LEF_FROM_OST == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)LEF_FROM_OST);
+       LASSERTF(LEF_SET_LMV_HASH == 0x00000004UL, "found 0x%.8xUL\n",
+               (unsigned)LEF_SET_LMV_HASH);
+       LASSERTF(LEF_SET_LMV_ALL == 0x00000008UL, "found 0x%.8xUL\n",
+               (unsigned)LEF_SET_LMV_ALL);
+       LASSERTF(LEF_RECHECK_NAME_HASH == 0x00000010UL, "found 0x%.8xUL\n",
+               (unsigned)LEF_RECHECK_NAME_HASH);
+
+       /* Checks for struct lfsck_reply */
+       LASSERTF((int)sizeof(struct lfsck_reply) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct lfsck_reply));
+       LASSERTF((int)offsetof(struct lfsck_reply, lr_status) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_reply, lr_status));
+       LASSERTF((int)sizeof(((struct lfsck_reply *)0)->lr_status) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_reply *)0)->lr_status));
+       LASSERTF((int)offsetof(struct lfsck_reply, lr_padding_1) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_reply, lr_padding_1));
+       LASSERTF((int)sizeof(((struct lfsck_reply *)0)->lr_padding_1) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_reply *)0)->lr_padding_1));
+       LASSERTF((int)offsetof(struct lfsck_reply, lr_padding_2) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lfsck_reply, lr_padding_2));
+       LASSERTF((int)sizeof(((struct lfsck_reply *)0)->lr_padding_2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct lfsck_reply *)0)->lr_padding_2));
+}