Whamcloud - gitweb
LU-7543 obd: reserve connection flag OBD_CONNECT_LOCK_AHEAD
[fs/lustre-release.git] / lustre / ptlrpc / wiretest.c
index a3b036a..f64bcf7 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, 2014, Intel Corporation.
+ * Copyright (c) 2011, 2015, 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>
-
 void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux t 2.6.32-358.18.1.el6.lustre.x86_64 #1 SMP Mon Sep 2 15:21:03 CDT 2013 x8
-         * with gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)  */
+         * running on Linux centss05 2.6.32.431.29.2.el6_lustre #1 SMP Tue Sep 23 16:06:38 CDT 2014 x
+         * with gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)  */
 
 
        /* Constants... */
@@ -228,26 +222,6 @@ void lustre_assert_wire_constants(void)
                 (long long)MDS_STATUS_CONN);
        LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
                 (long long)MDS_STATUS_LOV);
-       LASSERTF(LUSTRE_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
-                (long long)LUSTRE_BFLAG_UNCOMMITTED_WRITES);
-       LASSERTF(MF_SOM_CHANGE == 0x00000001UL, "found 0x%.8xUL\n",
-               (unsigned)MF_SOM_CHANGE);
-       LASSERTF(MF_EPOCH_OPEN == 0x00000002UL, "found 0x%.8xUL\n",
-               (unsigned)MF_EPOCH_OPEN);
-       LASSERTF(MF_EPOCH_CLOSE == 0x00000004UL, "found 0x%.8xUL\n",
-               (unsigned)MF_EPOCH_CLOSE);
-       LASSERTF(MF_MDC_CANCEL_FID1 == 0x00000008UL, "found 0x%.8xUL\n",
-               (unsigned)MF_MDC_CANCEL_FID1);
-       LASSERTF(MF_MDC_CANCEL_FID2 == 0x00000010UL, "found 0x%.8xUL\n",
-               (unsigned)MF_MDC_CANCEL_FID2);
-       LASSERTF(MF_MDC_CANCEL_FID3 == 0x00000020UL, "found 0x%.8xUL\n",
-               (unsigned)MF_MDC_CANCEL_FID3);
-       LASSERTF(MF_MDC_CANCEL_FID4 == 0x00000040UL, "found 0x%.8xUL\n",
-               (unsigned)MF_MDC_CANCEL_FID4);
-       LASSERTF(MF_SOM_AU == 0x00000080UL, "found 0x%.8xUL\n",
-               (unsigned)MF_SOM_AU);
-       LASSERTF(MF_GETATTR_LOCK == 0x00000100UL, "found 0x%.8xUL\n",
-               (unsigned)MF_GETATTR_LOCK);
        LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
                        (long long)MDS_ATTR_MODE);
        LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
@@ -449,8 +423,6 @@ void lustre_assert_wire_constants(void)
                (unsigned)LMAI_RELEASED);
        LASSERTF(LMAC_HSM == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)LMAC_HSM);
-       LASSERTF(LMAC_SOM == 0x00000002UL, "found 0x%.8xUL\n",
-               (unsigned)LMAC_SOM);
        LASSERTF(LMAC_NOT_IN_OI == 0x00000004UL, "found 0x%.8xUL\n",
                (unsigned)LMAC_NOT_IN_OI);
        LASSERTF(LMAC_FID_ON_OST == 0x00000008UL, "found 0x%.8xUL\n",
@@ -479,34 +451,14 @@ void lustre_assert_wire_constants(void)
                 (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",
-                (long long)(int)sizeof(struct som_attrs));
-       LASSERTF((int)offsetof(struct som_attrs, som_compat) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_compat));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_compat) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_compat));
-       LASSERTF((int)offsetof(struct som_attrs, som_incompat) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_incompat));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_incompat) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_incompat));
-       LASSERTF((int)offsetof(struct som_attrs, som_ioepoch) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_ioepoch));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_ioepoch) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_ioepoch));
-       LASSERTF((int)offsetof(struct som_attrs, som_size) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_size));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_size) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_size));
-       LASSERTF((int)offsetof(struct som_attrs, som_blocks) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_blocks));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_blocks) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_blocks));
-       LASSERTF((int)offsetof(struct som_attrs, som_mountid) == 32, "found %lld\n",
-                (long long)(int)offsetof(struct som_attrs, som_mountid));
-       LASSERTF((int)sizeof(((struct som_attrs *)0)->som_mountid) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct som_attrs *)0)->som_mountid));
+       LASSERTF(OUT_WRITE == 12, "found %lld\n",
+                (long long)OUT_WRITE);
+       LASSERTF(OUT_XATTR_DEL == 13, "found %lld\n",
+                (long long)OUT_XATTR_DEL);
+       LASSERTF(OUT_PUNCH == 14, "found %lld\n",
+                (long long)OUT_PUNCH);
+       LASSERTF(OUT_READ == 15, "found %lld\n",
+                (long long)OUT_READ);
 
        /* Checks for struct hsm_attrs */
        LASSERTF((int)sizeof(struct hsm_attrs) == 24, "found %lld\n",
@@ -543,10 +495,10 @@ void lustre_assert_wire_constants(void)
                 (long long)FID_SEQ_LLOG);
        LASSERTF(FID_SEQ_ECHO == 2, "found %lld\n",
                 (long long)FID_SEQ_ECHO);
-       LASSERTF(FID_SEQ_OST_MDT1 == 3, "found %lld\n",
-                (long long)FID_SEQ_OST_MDT1);
-       LASSERTF(FID_SEQ_OST_MAX == 9, "found %lld\n",
-                (long long)FID_SEQ_OST_MAX);
+       LASSERTF(FID_SEQ_UNUSED_START == 3, "found %lld\n",
+                (long long)FID_SEQ_UNUSED_START);
+       LASSERTF(FID_SEQ_UNUSED_END == 9, "found %lld\n",
+                (long long)FID_SEQ_UNUSED_END);
        LASSERTF(FID_SEQ_RSVD == 11, "found %lld\n",
                 (long long)FID_SEQ_RSVD);
        LASSERTF(FID_SEQ_IGIF == 12, "found %lld\n",
@@ -571,6 +523,12 @@ void lustre_assert_wire_constants(void)
                        (long long)FID_SEQ_QUOTA_GLB);
        LASSERTF(FID_SEQ_ROOT == 0x0000000200000007ULL, "found 0x%.16llxULL\n",
                        (long long)FID_SEQ_ROOT);
+       LASSERTF(FID_SEQ_LAYOUT_RBTREE == 0x0000000200000008ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_LAYOUT_RBTREE);
+       LASSERTF(FID_SEQ_UPDATE_LOG == 0x0000000200000009ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_UPDATE_LOG);
+       LASSERTF(FID_SEQ_UPDATE_LOG_DIR == 0x000000020000000aULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_UPDATE_LOG_DIR);
        LASSERTF(FID_SEQ_NORMAL == 0x0000000200000400ULL, "found 0x%.16llxULL\n",
                        (long long)FID_SEQ_NORMAL);
        LASSERTF(FID_SEQ_LOV_DEFAULT == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
@@ -704,12 +662,8 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lustre_msg_v2, lm_buflens[0]));
        LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]));
-       LASSERTF(LUSTRE_MSG_MAGIC_V1 == 0x0BD00BD0, "found 0x%.8x\n",
-               LUSTRE_MSG_MAGIC_V1);
        LASSERTF(LUSTRE_MSG_MAGIC_V2 == 0x0BD00BD3, "found 0x%.8x\n",
                LUSTRE_MSG_MAGIC_V2);
-       LASSERTF(LUSTRE_MSG_MAGIC_V1_SWABBED == 0xD00BD00B, "found 0x%.8x\n",
-               LUSTRE_MSG_MAGIC_V1_SWABBED);
        LASSERTF(LUSTRE_MSG_MAGIC_V2_SWABBED == 0xD30BD00B, "found 0x%.8x\n",
                LUSTRE_MSG_MAGIC_V2_SWABBED);
 
@@ -740,10 +694,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",
@@ -785,11 +747,23 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_pre_versions));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions) == 32, "found %lld\n",
                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions));
-       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding) == 120, "found %lld\n",
-                (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);
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_mbits) == 120, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_mbits));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_mbits) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_mbits));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_0) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding64_0));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_0) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_0));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_1) == 136, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding64_1));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_1) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_1));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_2) == 144, "found %lld\n",
+                (long long)(int)offsetof(struct ptlrpc_body_v3, pb_padding64_2));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_2) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_2));
+       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",
@@ -818,10 +792,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",
@@ -862,10 +844,22 @@ void lustre_assert_wire_constants(void)
                 (int)offsetof(struct ptlrpc_body_v3, pb_pre_versions), (int)offsetof(struct ptlrpc_body_v2, pb_pre_versions));
        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_pre_versions), "%d != %d\n",
                 (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_pre_versions), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_pre_versions));
-       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding) == (int)offsetof(struct ptlrpc_body_v2, pb_padding), "%d != %d\n",
-                (int)offsetof(struct ptlrpc_body_v3, pb_padding), (int)offsetof(struct ptlrpc_body_v2, pb_padding));
-       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding), "%d != %d\n",
-                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_mbits) == (int)offsetof(struct ptlrpc_body_v2, pb_mbits), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_mbits), (int)offsetof(struct ptlrpc_body_v2, pb_mbits));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_mbits) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_mbits), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_mbits), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_mbits));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_0) == (int)offsetof(struct ptlrpc_body_v2, pb_padding64_0), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_padding64_0), (int)offsetof(struct ptlrpc_body_v2, pb_padding64_0));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_0) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_0), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_0), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_0));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_1) == (int)offsetof(struct ptlrpc_body_v2, pb_padding64_1), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_padding64_1), (int)offsetof(struct ptlrpc_body_v2, pb_padding64_1));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_1) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_1), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_1), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_1));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_padding64_2) == (int)offsetof(struct ptlrpc_body_v2, pb_padding64_2), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_padding64_2), (int)offsetof(struct ptlrpc_body_v2, pb_padding64_2));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_2) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_2), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_padding64_2), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_padding64_2));
        LASSERTF(MSG_PTLRPC_BODY_OFF == 0, "found %lld\n",
                 (long long)MSG_PTLRPC_BODY_OFF);
        LASSERTF(REQ_REC_OFF == 1, "found %lld\n",
@@ -1010,9 +1004,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));
@@ -1180,6 +1182,18 @@ void lustre_assert_wire_constants(void)
                 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_CONNECT_SUBTREE == 0x800000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_SUBTREE);
+       LASSERTF(OBD_CONNECT_LOCK_AHEAD == 0x1000000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_LOCK_AHEAD);
+       LASSERTF(OBD_CONNECT_BULK_MBITS == 0x2000000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_BULK_MBITS);
+       LASSERTF(OBD_CONNECT_OBDOPACK == 0x4000000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_OBDOPACK);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)OBD_CKSUM_CRC32);
        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
@@ -1342,8 +1356,6 @@ void lustre_assert_wire_constants(void)
                 OBD_MD_FLCKSUM);
        LASSERTF(OBD_MD_FLQOS == (0x00200000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_FLQOS);
-       LASSERTF(OBD_MD_FLCOOKIE == (0x00800000ULL), "found 0x%.16llxULL\n",
-                OBD_MD_FLCOOKIE);
        LASSERTF(OBD_MD_FLGROUP == (0x01000000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_FLGROUP);
        LASSERTF(OBD_MD_FLFID == (0x02000000ULL), "found 0x%.16llxULL\n",
@@ -1498,11 +1510,11 @@ 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);
-       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",
-                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[16]));
+       CLASSERT(LOV_MAXPOOLNAME == 15);
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_pool_name[15 + 1]) == 48, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pool_name[15 + 1]));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[15 + 1]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pool_name[15 + 1]));
        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_objects[0]) == 48, "found %lld\n",
                 (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",
@@ -1517,6 +1529,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[15]) == 55, "found %lld\n",
+                (long long)(int)offsetof(struct lmv_mds_md_v1, lmv_pool_name[15]));
+       LASSERTF((int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_pool_name[15]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct lmv_mds_md_v1 *)0)->lmv_pool_name[15]));
+       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));
@@ -1855,18 +1918,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",
@@ -2019,10 +2082,10 @@ void lustre_assert_wire_constants(void)
                 (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_unused3) == 160, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, mbo_unused3));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->mbo_unused3) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->mbo_unused3));
        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",
@@ -2059,12 +2122,6 @@ void lustre_assert_wire_constants(void)
                MDS_FMODE_CLOSED);
        LASSERTF(MDS_FMODE_EXEC == 000000000004UL, "found 0%.11oUL\n",
                MDS_FMODE_EXEC);
-       LASSERTF(MDS_FMODE_EPOCH == 000001000000UL, "found 0%.11oUL\n",
-               MDS_FMODE_EPOCH);
-       LASSERTF(MDS_FMODE_TRUNC == 000002000000UL, "found 0%.11oUL\n",
-               MDS_FMODE_TRUNC);
-       LASSERTF(MDS_FMODE_SOM == 000004000000UL, "found 0%.11oUL\n",
-               MDS_FMODE_SOM);
        LASSERTF(MDS_OPEN_CREATED == 000000000010UL, "found 0%.11oUL\n",
                MDS_OPEN_CREATED);
        LASSERTF(MDS_OPEN_CROSS == 000000000020UL, "found 0%.11oUL\n",
@@ -2107,10 +2164,20 @@ void lustre_assert_wire_constants(void)
                LUSTRE_IMMUTABLE_FL);
        LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
                LUSTRE_APPEND_FL);
+       LASSERTF(LUSTRE_NODUMP_FL == 0x00000040, "found 0x%.8x\n",
+               LUSTRE_NODUMP_FL);
        LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
                LUSTRE_NOATIME_FL);
+       LASSERTF(LUSTRE_INDEX_FL == 0x00001000, "found 0x%.8x\n",
+               LUSTRE_INDEX_FL);
        LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
                LUSTRE_DIRSYNC_FL);
+       LASSERTF(LUSTRE_TOPDIR_FL == 0x00020000, "found 0x%.8x\n",
+               LUSTRE_TOPDIR_FL);
+       LASSERTF(LUSTRE_DIRECTIO_FL == 0x00100000, "found 0x%.8x\n",
+               LUSTRE_DIRECTIO_FL);
+       LASSERTF(LUSTRE_INLINE_DATA_FL == 0x10000000, "found 0x%.8x\n",
+               LUSTRE_INLINE_DATA_FL);
        LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
                MDS_INODELOCK_LOOKUP);
        LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
@@ -2123,22 +2190,22 @@ void lustre_assert_wire_constants(void)
        /* 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));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, mio_handle) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, mio_handle));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->mio_handle) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->mio_handle));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, mio_unused1) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, mio_unused1));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->mio_unused1) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->mio_unused1));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, mio_unused2) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, mio_unused2));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->mio_unused2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->mio_unused2));
+       LASSERTF((int)offsetof(struct mdt_ioepoch, mio_padding) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_ioepoch, mio_padding));
+       LASSERTF((int)sizeof(((struct mdt_ioepoch *)0)->mio_padding) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_ioepoch *)0)->mio_padding));
 
        /* Checks for struct mdt_remote_perm */
        LASSERTF((int)sizeof(struct mdt_remote_perm) == 32, "found %lld\n",
@@ -3027,6 +3094,34 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct ldlm_intent, opc));
        LASSERTF((int)sizeof(((struct ldlm_intent *)0)->opc) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct ldlm_intent *)0)->opc));
+       LASSERTF(IT_OPEN == 1, "found %lld\n",
+                (long long)IT_OPEN);
+       LASSERTF(IT_CREAT == 2, "found %lld\n",
+                (long long)IT_CREAT);
+       LASSERTF(IT_READDIR == 4, "found %lld\n",
+                (long long)IT_READDIR);
+       LASSERTF(IT_GETATTR == 8, "found %lld\n",
+                (long long)IT_GETATTR);
+       LASSERTF(IT_LOOKUP == 16, "found %lld\n",
+                (long long)IT_LOOKUP);
+       LASSERTF(IT_UNLINK == 32, "found %lld\n",
+                (long long)IT_UNLINK);
+       LASSERTF(IT_TRUNC == 64, "found %lld\n",
+                (long long)IT_TRUNC);
+       LASSERTF(IT_GETXATTR == 128, "found %lld\n",
+                (long long)IT_GETXATTR);
+       LASSERTF(IT_EXEC == 256, "found %lld\n",
+                (long long)IT_EXEC);
+       LASSERTF(IT_PIN == 512, "found %lld\n",
+                (long long)IT_PIN);
+       LASSERTF(IT_LAYOUT == 1024, "found %lld\n",
+                (long long)IT_LAYOUT);
+       LASSERTF(IT_QUOTA_DQACQ == 2048, "found %lld\n",
+                (long long)IT_QUOTA_DQACQ);
+       LASSERTF(IT_QUOTA_CONN == 4096, "found %lld\n",
+                (long long)IT_QUOTA_CONN);
+       LASSERTF(IT_SETXATTR == 8192, "found %lld\n",
+                (long long)IT_SETXATTR);
 
        /* Checks for struct ldlm_resource_desc */
        LASSERTF((int)sizeof(struct ldlm_resource_desc) == 40, "found %lld\n",
@@ -3035,10 +3130,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct ldlm_resource_desc, lr_type));
        LASSERTF((int)sizeof(((struct ldlm_resource_desc *)0)->lr_type) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct ldlm_resource_desc *)0)->lr_type));
-       LASSERTF((int)offsetof(struct ldlm_resource_desc, lr_padding) == 4, "found %lld\n",
-                (long long)(int)offsetof(struct ldlm_resource_desc, lr_padding));
-       LASSERTF((int)sizeof(((struct ldlm_resource_desc *)0)->lr_padding) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ldlm_resource_desc *)0)->lr_padding));
+       LASSERTF((int)offsetof(struct ldlm_resource_desc, lr_pad) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct ldlm_resource_desc, lr_pad));
+       LASSERTF((int)sizeof(((struct ldlm_resource_desc *)0)->lr_pad) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct ldlm_resource_desc *)0)->lr_pad));
        LASSERTF((int)offsetof(struct ldlm_resource_desc, lr_name) == 8, "found %lld\n",
                 (long long)(int)offsetof(struct ldlm_resource_desc, lr_name));
        LASSERTF((int)sizeof(((struct ldlm_resource_desc *)0)->lr_name) == 32, "found %lld\n",
@@ -3540,49 +3635,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",
@@ -3607,10 +3678,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",
@@ -3699,18 +3770,6 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct llog_log_hdr, llh_tgtuuid));
        LASSERTF((int)sizeof(((struct llog_log_hdr *)0)->llh_tgtuuid) == 40, "found %lld\n",
                 (long long)(int)sizeof(((struct llog_log_hdr *)0)->llh_tgtuuid));
-       LASSERTF((int)offsetof(struct llog_log_hdr, llh_reserved) == 84, "found %lld\n",
-                (long long)(int)offsetof(struct llog_log_hdr, llh_reserved));
-       LASSERTF((int)sizeof(((struct llog_log_hdr *)0)->llh_reserved) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_log_hdr *)0)->llh_reserved));
-       LASSERTF((int)offsetof(struct llog_log_hdr, llh_bitmap) == 88, "found %lld\n",
-                (long long)(int)offsetof(struct llog_log_hdr, llh_bitmap));
-       LASSERTF((int)sizeof(((struct llog_log_hdr *)0)->llh_bitmap) == 8096, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_log_hdr *)0)->llh_bitmap));
-       LASSERTF((int)offsetof(struct llog_log_hdr, llh_tail) == 8184, "found %lld\n",
-                (long long)(int)offsetof(struct llog_log_hdr, llh_tail));
-       LASSERTF((int)sizeof(((struct llog_log_hdr *)0)->llh_tail) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_log_hdr *)0)->llh_tail));
 
        /* Checks for struct llog_cookie */
        LASSERTF((int)sizeof(struct llog_cookie) == 32, "found %lld\n",
@@ -3774,6 +3833,21 @@ 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_UPDATELOG_ORIG_CTXT == 16);
+       CLASSERT(LLOG_UPDATELOG_REPL_CTXT == 17);
+       CLASSERT(LLOG_MAX_CTXTS == 18);
 
        /* Checks for struct llogd_conn_body */
        LASSERTF((int)sizeof(struct llogd_conn_body) == 40, "found %lld\n",
@@ -3794,18 +3868,18 @@ void lustre_assert_wire_constants(void)
        /* 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[8]) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_info_key, name[8]));
-       LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->name[8]) == 1, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->name[8]));
-       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));
+       LASSERTF((int)offsetof(struct ll_fiemap_info_key, lfik_name[8]) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fiemap_info_key, lfik_name[8]));
+       LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_name[8]) == 1, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_name[8]));
+       LASSERTF((int)offsetof(struct ll_fiemap_info_key, lfik_oa) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fiemap_info_key, lfik_oa));
+       LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_oa) == 208, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_oa));
+       LASSERTF((int)offsetof(struct ll_fiemap_info_key, lfik_fiemap) == 216, "found %lld\n",
+                (long long)(int)offsetof(struct ll_fiemap_info_key, lfik_fiemap));
+       LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_fiemap) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->lfik_fiemap));
 
        /* Checks for struct quota_body */
        LASSERTF((int)sizeof(struct quota_body) == 112, "found %lld\n",
@@ -3985,64 +4059,64 @@ void lustre_assert_wire_constants(void)
        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]));
 
-       /* Checks for struct ll_user_fiemap */
-       LASSERTF((int)sizeof(struct ll_user_fiemap) == 32, "found %lld\n",
-                (long long)(int)sizeof(struct ll_user_fiemap));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_start) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_start));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_start) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_start));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_length) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_length));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_length) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_length));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_flags) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_flags));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_flags) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_flags));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_mapped_extents) == 20, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_mapped_extents));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extent_count) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_extent_count));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_reserved) == 28, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_reserved));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved));
-       LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extents) == 32, "found %lld\n",
-                (long long)(int)offsetof(struct ll_user_fiemap, fm_extents));
-       LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extents) == 0, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extents));
+       /* Checks for struct fiemap */
+       LASSERTF((int)sizeof(struct fiemap) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct fiemap));
+       LASSERTF((int)offsetof(struct fiemap, fm_start) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_start));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_start) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_start));
+       LASSERTF((int)offsetof(struct fiemap, fm_length) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_length));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_length) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_length));
+       LASSERTF((int)offsetof(struct fiemap, fm_flags) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_flags));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_flags));
+       LASSERTF((int)offsetof(struct fiemap, fm_mapped_extents) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_mapped_extents));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_mapped_extents) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_mapped_extents));
+       LASSERTF((int)offsetof(struct fiemap, fm_extent_count) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_extent_count));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_extent_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_extent_count));
+       LASSERTF((int)offsetof(struct fiemap, fm_reserved) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_reserved));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_reserved) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_reserved));
+       LASSERTF((int)offsetof(struct fiemap, fm_extents) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap, fm_extents));
+       LASSERTF((int)sizeof(((struct fiemap *)0)->fm_extents) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap *)0)->fm_extents));
        CLASSERT(FIEMAP_FLAG_SYNC == 0x00000001);
        CLASSERT(FIEMAP_FLAG_XATTR == 0x00000002);
        CLASSERT(FIEMAP_FLAG_DEVICE_ORDER == 0x40000000);
 
-       /* Checks for struct ll_fiemap_extent */
-       LASSERTF((int)sizeof(struct ll_fiemap_extent) == 56, "found %lld\n",
-                (long long)(int)sizeof(struct ll_fiemap_extent));
-       LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_logical) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_extent, fe_logical));
-       LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical));
-       LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_physical) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_extent, fe_physical));
-       LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical));
-       LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_length) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_extent, fe_length));
-       LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_length) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_length));
-       LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_flags) == 40, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_extent, fe_flags));
-       LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags));
-       LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_device) == 44, "found %lld\n",
-                (long long)(int)offsetof(struct ll_fiemap_extent, fe_device));
-       LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_device) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_device));
+       /* Checks for struct fiemap_extent */
+       LASSERTF((int)sizeof(struct fiemap_extent) == 56, "found %lld\n",
+                (long long)(int)sizeof(struct fiemap_extent));
+       LASSERTF((int)offsetof(struct fiemap_extent, fe_logical) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap_extent, fe_logical));
+       LASSERTF((int)sizeof(((struct fiemap_extent *)0)->fe_logical) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap_extent *)0)->fe_logical));
+       LASSERTF((int)offsetof(struct fiemap_extent, fe_physical) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap_extent, fe_physical));
+       LASSERTF((int)sizeof(((struct fiemap_extent *)0)->fe_physical) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap_extent *)0)->fe_physical));
+       LASSERTF((int)offsetof(struct fiemap_extent, fe_length) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap_extent, fe_length));
+       LASSERTF((int)sizeof(((struct fiemap_extent *)0)->fe_length) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap_extent *)0)->fe_length));
+       LASSERTF((int)offsetof(struct fiemap_extent, fe_flags) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap_extent, fe_flags));
+       LASSERTF((int)sizeof(((struct fiemap_extent *)0)->fe_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap_extent *)0)->fe_flags));
+       LASSERTF((int)offsetof(struct fiemap_extent, fe_reserved[0]) == 44, "found %lld\n",
+                (long long)(int)offsetof(struct fiemap_extent, fe_reserved[0]));
+       LASSERTF((int)sizeof(((struct fiemap_extent *)0)->fe_reserved[0]) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct fiemap_extent *)0)->fe_reserved[0]));
        CLASSERT(FIEMAP_EXTENT_LAST == 0x00000001);
        CLASSERT(FIEMAP_EXTENT_UNKNOWN == 0x00000002);
        CLASSERT(FIEMAP_EXTENT_DELALLOC == 0x00000004);
@@ -4056,6 +4130,38 @@ void lustre_assert_wire_constants(void)
        CLASSERT(FIEMAP_EXTENT_NO_DIRECT == 0x40000000);
        CLASSERT(FIEMAP_EXTENT_NET == 0x80000000);
 
+#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));
+       LASSERTF((int)offsetof(posix_acl_xattr_entry, e_tag) == 0, "found %lld\n",
+                (long long)(int)offsetof(posix_acl_xattr_entry, e_tag));
+       LASSERTF((int)sizeof(((posix_acl_xattr_entry *)0)->e_tag) == 2, "found %lld\n",
+                (long long)(int)sizeof(((posix_acl_xattr_entry *)0)->e_tag));
+       LASSERTF((int)offsetof(posix_acl_xattr_entry, e_perm) == 2, "found %lld\n",
+                (long long)(int)offsetof(posix_acl_xattr_entry, e_perm));
+       LASSERTF((int)sizeof(((posix_acl_xattr_entry *)0)->e_perm) == 2, "found %lld\n",
+                (long long)(int)sizeof(((posix_acl_xattr_entry *)0)->e_perm));
+       LASSERTF((int)offsetof(posix_acl_xattr_entry, e_id) == 4, "found %lld\n",
+                (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));
+       LASSERTF((int)offsetof(posix_acl_xattr_header, a_version) == 0, "found %lld\n",
+                (long long)(int)offsetof(posix_acl_xattr_header, a_version));
+       LASSERTF((int)sizeof(((posix_acl_xattr_header *)0)->a_version) == 4, "found %lld\n",
+                (long long)(int)sizeof(((posix_acl_xattr_header *)0)->a_version));
+       LASSERTF((int)offsetof(posix_acl_xattr_header, a_entries) == 4, "found %lld\n",
+                (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 /* CONFIG_FS_POSIX_ACL */
+
        /* Checks for struct link_ea_header */
        LASSERTF((int)sizeof(struct link_ea_header) == 24, "found %lld\n",
                 (long long)(int)sizeof(struct link_ea_header));
@@ -4471,10 +4577,10 @@ void lustre_assert_wire_constants(void)
                 (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_result_size) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct object_update, ou_result_size));
+       LASSERTF((int)sizeof(((struct object_update *)0)->ou_result_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct object_update *)0)->ou_result_size));
        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",
@@ -4556,6 +4662,42 @@ void lustre_assert_wire_constants(void)
        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 out_update_header */
+       LASSERTF((int)sizeof(struct out_update_header) == 16, "found %lld\n",
+                (long long)(int)sizeof(struct out_update_header));
+       LASSERTF((int)offsetof(struct out_update_header, ouh_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_header, ouh_magic));
+       LASSERTF((int)sizeof(((struct out_update_header *)0)->ouh_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_header *)0)->ouh_magic));
+       LASSERTF((int)offsetof(struct out_update_header, ouh_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_header, ouh_count));
+       LASSERTF((int)sizeof(((struct out_update_header *)0)->ouh_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_header *)0)->ouh_count));
+       LASSERTF((int)offsetof(struct out_update_header, ouh_inline_length) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_header, ouh_inline_length));
+       LASSERTF((int)sizeof(((struct out_update_header *)0)->ouh_inline_length) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_header *)0)->ouh_inline_length));
+       LASSERTF((int)offsetof(struct out_update_header, ouh_reply_size) == 12, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_header, ouh_reply_size));
+       LASSERTF((int)sizeof(((struct out_update_header *)0)->ouh_reply_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_header *)0)->ouh_reply_size));
+       LASSERTF((int)offsetof(struct out_update_header, ouh_inline_data) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_header, ouh_inline_data));
+       LASSERTF((int)sizeof(((struct out_update_header *)0)->ouh_inline_data) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_header *)0)->ouh_inline_data));
+
+       /* Checks for struct out_update_buffer */
+       LASSERTF((int)sizeof(struct out_update_buffer) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct out_update_buffer));
+       LASSERTF((int)offsetof(struct out_update_buffer, oub_size) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_buffer, oub_size));
+       LASSERTF((int)sizeof(((struct out_update_buffer *)0)->oub_size) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_buffer *)0)->oub_size));
+       LASSERTF((int)offsetof(struct out_update_buffer, oub_padding) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct out_update_buffer, oub_padding));
+       LASSERTF((int)sizeof(((struct out_update_buffer *)0)->oub_padding) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct out_update_buffer *)0)->oub_padding));
+
        /* Checks for struct lfsck_request */
        LASSERTF((int)sizeof(struct lfsck_request) == 96, "found %lld\n",
                 (long long)(int)sizeof(struct lfsck_request));
@@ -4595,10 +4737,10 @@ void lustre_assert_wire_constants(void)
                 (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_padding_1) == 28, "found %lld\n",
-                (long long)(int)offsetof(struct lfsck_request, lr_padding_1));
-       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_padding_1) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_padding_1));
+       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",
@@ -4611,20 +4753,18 @@ void lustre_assert_wire_constants(void)
                 (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_2) == 80, "found %lld\n",
+       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((int)offsetof(struct lfsck_request, lr_padding_3) == 88, "found %lld\n",
-                (long long)(int)offsetof(struct lfsck_request, lr_padding_3));
-       LASSERTF((int)sizeof(((struct lfsck_request *)0)->lr_padding_3) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lfsck_request *)0)->lr_padding_3));
        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_DNE == 0x00000002UL, "found 0x%.8xUL\n",
-               (unsigned)LFSCK_TYPE_DNE);
        LASSERTF(LFSCK_TYPE_NAMESPACE == 0x00000004UL, "found 0x%.8xUL\n",
                (unsigned)LFSCK_TYPE_NAMESPACE);
        LASSERTF(LE_LASTID_REBUILDING == 1, "found %lld\n",
@@ -4649,10 +4789,24 @@ void lustre_assert_wire_constants(void)
                 (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",
@@ -4669,5 +4823,82 @@ void lustre_assert_wire_constants(void)
                 (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));
-}
 
+       /* Checks for struct update_params */
+       LASSERTF((int)sizeof(struct update_params) == 0, "found %lld\n",
+                (long long)(int)sizeof(struct update_params));
+       LASSERTF((int)offsetof(struct update_params, up_params) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_params, up_params));
+       LASSERTF((int)sizeof(((struct update_params *)0)->up_params) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update_params *)0)->up_params));
+
+       /* Checks for struct update_op */
+       LASSERTF((int)sizeof(struct update_op) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct update_op));
+       LASSERTF((int)offsetof(struct update_op, uop_fid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_op, uop_fid));
+       LASSERTF((int)sizeof(((struct update_op *)0)->uop_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct update_op *)0)->uop_fid));
+       LASSERTF((int)offsetof(struct update_op, uop_type) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct update_op, uop_type));
+       LASSERTF((int)sizeof(((struct update_op *)0)->uop_type) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct update_op *)0)->uop_type));
+       LASSERTF((int)offsetof(struct update_op, uop_param_count) == 18, "found %lld\n",
+                (long long)(int)offsetof(struct update_op, uop_param_count));
+       LASSERTF((int)sizeof(((struct update_op *)0)->uop_param_count) == 2, "found %lld\n",
+                (long long)(int)sizeof(((struct update_op *)0)->uop_param_count));
+       LASSERTF((int)offsetof(struct update_op, uop_params_off) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct update_op, uop_params_off));
+       LASSERTF((int)sizeof(((struct update_op *)0)->uop_params_off) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update_op *)0)->uop_params_off));
+
+       /* Checks for struct update_ops */
+       LASSERTF((int)sizeof(struct update_ops) == 0, "found %lld\n",
+                (long long)(int)sizeof(struct update_ops));
+       LASSERTF((int)offsetof(struct update_ops, uops_op) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_ops, uops_op));
+       LASSERTF((int)sizeof(((struct update_ops *)0)->uops_op) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update_ops *)0)->uops_op));
+
+       /* Checks for struct update_records */
+       LASSERTF((int)sizeof(struct update_records) == 32, "found %lld\n",
+                (long long)(int)sizeof(struct update_records));
+       LASSERTF((int)offsetof(struct update_records, ur_master_transno) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_master_transno));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_master_transno) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_master_transno));
+       LASSERTF((int)offsetof(struct update_records, ur_batchid) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_batchid));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_batchid) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_batchid));
+       LASSERTF((int)offsetof(struct update_records, ur_flags) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_flags));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_flags) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_flags));
+       LASSERTF((int)offsetof(struct update_records, ur_index) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_index));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_index) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_index));
+       LASSERTF((int)offsetof(struct update_records, ur_update_count) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_update_count));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_update_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_update_count));
+       LASSERTF((int)offsetof(struct update_records, ur_param_count) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct update_records, ur_param_count));
+       LASSERTF((int)sizeof(((struct update_records *)0)->ur_param_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_records *)0)->ur_param_count));
+       LASSERTF(UPDATE_RECORD_CONTINUE == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)UPDATE_RECORD_CONTINUE);
+
+       /* Checks for struct llog_update_record */
+       LASSERTF((int)sizeof(struct llog_update_record) == 48, "found %lld\n",
+                (long long)(int)sizeof(struct llog_update_record));
+       LASSERTF((int)offsetof(struct llog_update_record, lur_hdr) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct llog_update_record, lur_hdr));
+       LASSERTF((int)sizeof(((struct llog_update_record *)0)->lur_hdr) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_update_record *)0)->lur_hdr));
+       LASSERTF((int)offsetof(struct llog_update_record, lur_update_rec) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct llog_update_record, lur_update_rec));
+       LASSERTF((int)sizeof(((struct llog_update_record *)0)->lur_update_rec) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_update_record *)0)->lur_update_rec));
+}