Whamcloud - gitweb
LU-1492 utils: cleanup wirecheck for ptlrpc_body
[fs/lustre-release.git] / lustre / utils / wiretest.c
index de96358..fdea140 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -28,9 +26,8 @@
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
- */
-/*
- * Copyright (c) 2011 Whamcloud, Inc.
+ *
+ * Copyright (c) 2011, 2012, Whamcloud, Inc.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -46,7 +43,7 @@
 #undef LASSERT
 #undef LASSERTF
 #define LASSERT(cond) if (!(cond)) { printf("failed " #cond "\n"); ret = 1; }
-#define LASSERTF(cond, fmt, arg) if (!(cond)) { printf("failed '" #cond "'" fmt, arg);ret = 1;}
+#define LASSERTF(cond, fmt, ...) if (!(cond)) { printf("failed '" #cond "'" fmt, ## __VA_ARGS__);ret = 1;}
 
 int ret;
 
@@ -65,8 +62,8 @@ void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux RHEL5 2.6.18-238.9.1 #1 SMP i686 i386 GNU/Linux
-         * with gcc version 4.1.1 20070105 (Red Hat 4.1.1-52) */
+         * running on Linux niu-dell 2.6.18-238 #2 SMP Mon May 16 03:44:25 PDT 2011 x86_64 x86_64 x86
+         * with gcc version 4.1.2 20080704 (Red Hat 4.1.2-44) */
 
 
         /* Constants... */
@@ -217,8 +214,8 @@ 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(MDS_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
-                 (long long)MDS_BFLAG_UNCOMMITTED_WRITES);
+        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",
@@ -344,6 +341,9 @@ void lustre_assert_wire_constants(void)
         CLASSERT(LDLM_FLOCK == 12);
         CLASSERT(LDLM_IBITS == 13);
         CLASSERT(LDLM_MAX_TYPE == 14);
+        CLASSERT(LUSTRE_RES_ID_SEQ_OFF == 0);
+        CLASSERT(LUSTRE_RES_ID_VER_OID_OFF == 1);
+        CLASSERT(LUSTRE_RES_ID_HSH_OFF == 3);
         LASSERTF(OBD_PING == 400, "found %lld\n",
                  (long long)OBD_PING);
         LASSERTF(OBD_LOG_CANCEL == 401, "found %lld\n",
@@ -491,10 +491,22 @@ void lustre_assert_wire_constants(void)
                  (long long)FID_SEQ_LOCAL_FILE);
         LASSERTF(FID_SEQ_DOT_LUSTRE == 0x0000000200000002ULL, "found 0x%.16llxULL\n",
                  (long long)FID_SEQ_DOT_LUSTRE);
+        LASSERTF(FID_SEQ_SPECIAL == 0x0000000200000004ULL, "found 0x%.16llxULL\n",
+                 (long long)FID_SEQ_SPECIAL);
+        LASSERTF(FID_SEQ_QUOTA == 0x0000000200000005ULL, "found 0x%.16llxULL\n",
+                 (long long)FID_SEQ_QUOTA);
+        LASSERTF(FID_SEQ_QUOTA_GLB == 0x0000000200000006ULL, "found 0x%.16llxULL\n",
+                 (long long)FID_SEQ_QUOTA_GLB);
         LASSERTF(FID_SEQ_NORMAL == 0x0000000200000400ULL, "found 0x%.16llxULL\n",
                  (long long)FID_SEQ_NORMAL);
         LASSERTF(FID_SEQ_LOV_DEFAULT == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
                  (long long)FID_SEQ_LOV_DEFAULT);
+        LASSERTF(FID_OID_SPECIAL_BFL == 0x00000001UL, "found 0x%.8xUL\n",
+                 (unsigned)FID_OID_SPECIAL_BFL);
+        LASSERTF(FID_OID_DOT_LUSTRE == 0x00000001UL, "found 0x%.8xUL\n",
+                 (unsigned)FID_OID_DOT_LUSTRE);
+        LASSERTF(FID_OID_DOT_LUSTRE_OBF == 0x00000002UL, "found 0x%.8xUL\n",
+                 (unsigned)FID_OID_DOT_LUSTRE_OBF);
 
         /* Checks for struct lu_dirent */
         LASSERTF((int)sizeof(struct lu_dirent) == 32, "found %lld\n",
@@ -625,81 +637,158 @@ void lustre_assert_wire_constants(void)
                  LUSTRE_MSG_MAGIC_V2_SWABBED);
 
         /* Checks for struct ptlrpc_body */
-        LASSERTF((int)sizeof(struct ptlrpc_body) == 152, "found %lld\n",
-                 (long long)(int)sizeof(struct ptlrpc_body));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_handle) == 0, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_handle));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_handle) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_handle));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_type) == 8, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_type));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_type) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_type));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_version) == 12, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_version));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_version) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_version));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_opc) == 16, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_opc));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_opc) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_opc));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_status) == 20, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_status));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_status) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_status));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_last_xid) == 24, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_last_xid));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_last_xid) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_last_xid));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_last_seen) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_last_seen));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_last_seen) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_last_seen));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_last_committed) == 40, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_last_committed));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_last_committed) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_last_committed));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_transno) == 48, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_transno));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_transno) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_transno));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_flags) == 56, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_flags));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_flags));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_op_flags) == 60, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_op_flags));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_op_flags) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_op_flags));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_conn_cnt) == 64, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_conn_cnt));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_conn_cnt) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_conn_cnt));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_timeout) == 68, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_timeout));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_timeout) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_timeout));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_service_time) == 72, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_service_time));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_service_time) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_service_time));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_slv) == 80, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_slv));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_slv) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_slv));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_limit));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit));
+        LASSERTF((int)sizeof(struct ptlrpc_body_v3) == 184, "found %lld\n",
+                 (long long)(int)sizeof(struct ptlrpc_body_v3));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_handle) == 0, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_handle));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_type) == 8, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_type));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_version) == 12, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_version));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_opc) == 16, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_opc));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_status) == 20, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_status));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_xid) == 24, "found %lld\n",
+                 (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_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",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_transno) == 48, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_transno));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_flags) == 56, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_flags));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_op_flags) == 60, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_op_flags));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt) == 64, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_timeout) == 68, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_timeout));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_service_time) == 72, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_service_time));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_limit) == 76, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_limit));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_slv) == 80, "found %lld\n",
+                 (long long)(int)offsetof(struct ptlrpc_body_v3, pb_slv));
+        LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv));
         CLASSERT(PTLRPC_NUM_VERSIONS == 4);
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_pre_versions[4]) == 120, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_pre_versions[4]));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions[4]) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions[4]));
-        LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding[4]) == 152, "found %lld\n",
-                 (long long)(int)offsetof(struct ptlrpc_body, pb_padding[4]));
-        LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding[4]) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding[4]));
+        LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_pre_versions) == 88, "found %lld\n",
+                 (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_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",
+                 (long long)(int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_jobid));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_handle) == (int)offsetof(struct ptlrpc_body_v2, pb_handle), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_handle), (int)offsetof(struct ptlrpc_body_v2, pb_handle));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_handle), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_handle), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_handle));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_type) == (int)offsetof(struct ptlrpc_body_v2, pb_type), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_type), (int)offsetof(struct ptlrpc_body_v2, pb_type));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_type), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_type), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_type));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_version) == (int)offsetof(struct ptlrpc_body_v2, pb_version), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_version), (int)offsetof(struct ptlrpc_body_v2, pb_version));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_version), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_version), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_version));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_opc) == (int)offsetof(struct ptlrpc_body_v2, pb_opc), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_opc), (int)offsetof(struct ptlrpc_body_v2, pb_opc));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_opc), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_opc), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_opc));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_status) == (int)offsetof(struct ptlrpc_body_v2, pb_status), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_status), (int)offsetof(struct ptlrpc_body_v2, pb_status));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_status), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_status), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_status));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_last_xid) == (int)offsetof(struct ptlrpc_body_v2, pb_last_xid), "%d != %d\n",
+                (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_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",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_last_committed), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_last_committed));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_transno) == (int)offsetof(struct ptlrpc_body_v2, pb_transno), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_transno), (int)offsetof(struct ptlrpc_body_v2, pb_transno));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_transno), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_transno), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_transno));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_flags) == (int)offsetof(struct ptlrpc_body_v2, pb_flags), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_flags), (int)offsetof(struct ptlrpc_body_v2, pb_flags));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_flags), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_flags), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_flags));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_op_flags) == (int)offsetof(struct ptlrpc_body_v2, pb_op_flags), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_op_flags), (int)offsetof(struct ptlrpc_body_v2, pb_op_flags));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_op_flags), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_op_flags), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_op_flags));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt) == (int)offsetof(struct ptlrpc_body_v2, pb_conn_cnt), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_conn_cnt), (int)offsetof(struct ptlrpc_body_v2, pb_conn_cnt));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_conn_cnt), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_conn_cnt), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_conn_cnt));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_timeout) == (int)offsetof(struct ptlrpc_body_v2, pb_timeout), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_timeout), (int)offsetof(struct ptlrpc_body_v2, pb_timeout));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_timeout), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_timeout), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_timeout));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_service_time) == (int)offsetof(struct ptlrpc_body_v2, pb_service_time), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_service_time), (int)offsetof(struct ptlrpc_body_v2, pb_service_time));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_service_time), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_service_time), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_service_time));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_limit) == (int)offsetof(struct ptlrpc_body_v2, pb_limit), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_limit), (int)offsetof(struct ptlrpc_body_v2, pb_limit));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_limit), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_limit), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_limit));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_slv) == (int)offsetof(struct ptlrpc_body_v2, pb_slv), "%d != %d\n",
+                (int)offsetof(struct ptlrpc_body_v3, pb_slv), (int)offsetof(struct ptlrpc_body_v2, pb_slv));
+       LASSERTF((int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv) == (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_slv), "%d != %d\n",
+                (int)sizeof(((struct ptlrpc_body_v3 *)0)->pb_slv), (int)sizeof(((struct ptlrpc_body_v2 *)0)->pb_slv));
+       LASSERTF((int)offsetof(struct ptlrpc_body_v3, pb_pre_versions) == (int)offsetof(struct ptlrpc_body_v2, pb_pre_versions), "%d != %d\n",
+                (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(MSG_PTLRPC_BODY_OFF == 0, "found %lld\n",
                  (long long)MSG_PTLRPC_BODY_OFF);
         LASSERTF(REQ_REC_OFF == 1, "found %lld\n",
@@ -804,14 +893,22 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct obd_connect_data, ocd_ibits_known));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known) == 8, "found %lld\n",
                  (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_ibits_known));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_nllu) == 32, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_nllu));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_nllu) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_nllu));
-        LASSERTF((int)offsetof(struct obd_connect_data, ocd_nllg) == 36, "found %lld\n",
-                 (long long)(int)offsetof(struct obd_connect_data, ocd_nllg));
-        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_nllg) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_nllg));
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_blocksize) == 32, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_blocksize));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize) == 1, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_blocksize));
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_inodespace) == 33, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_inodespace));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace) == 1, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_inodespace));
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_grant_extent) == 34, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_grant_extent));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent) == 2, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_grant_extent));
+        LASSERTF((int)offsetof(struct obd_connect_data, ocd_unused) == 36, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, ocd_unused));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_unused) == 4, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_unused));
         LASSERTF((int)offsetof(struct obd_connect_data, ocd_transno) == 40, "found %lld\n",
                  (long long)(int)offsetof(struct obd_connect_data, ocd_transno));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_transno) == 8, "found %lld\n",
@@ -844,6 +941,58 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct obd_connect_data, padding2));
         LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding2) == 8, "found %lld\n",
                  (long long)(int)sizeof(((struct obd_connect_data *)0)->padding2));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding3) == 88, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding3));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding3) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding3));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding4) == 96, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding4));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding4) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding4));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding5) == 104, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding5));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding5) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding5));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding6) == 112, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding6));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding6) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding6));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding7) == 120, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding7));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding7) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding7));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding8) == 128, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding8));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding8) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding8));
+        LASSERTF((int)offsetof(struct obd_connect_data, padding9) == 136, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, padding9));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding9) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->padding9));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingA) == 144, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingA));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingA) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingA));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingB) == 152, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingB));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingB) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingB));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingC) == 160, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingC));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingC) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingC));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingD) == 168, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingD));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingD) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingD));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingE) == 176, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingE));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingE) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingE));
+        LASSERTF((int)offsetof(struct obd_connect_data, paddingF) == 184, "found %lld\n",
+                 (long long)(int)offsetof(struct obd_connect_data, paddingF));
+        LASSERTF((int)sizeof(((struct obd_connect_data *)0)->paddingF) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obd_connect_data *)0)->paddingF));
         LASSERTF(OBD_CONNECT_RDONLY == 0x1ULL, "found 0x%.16llxULL\n",
                  OBD_CONNECT_RDONLY);
         LASSERTF(OBD_CONNECT_INDEX == 0x2ULL, "found 0x%.16llxULL\n",
@@ -926,6 +1075,14 @@ void lustre_assert_wire_constants(void)
                  OBD_CONNECT_MAXBYTES);
         LASSERTF(OBD_CONNECT_IMP_RECOV == 0x10000000000ULL, "found 0x%.16llxULL\n",
                  OBD_CONNECT_IMP_RECOV);
+        LASSERTF(OBD_CONNECT_JOBSTATS == 0x20000000000ULL, "found 0x%.16llxULL\n",
+                 OBD_CONNECT_JOBSTATS);
+        LASSERTF(OBD_CONNECT_UMASK == 0x40000000000ULL, "found 0x%.16llxULL\n",
+                 OBD_CONNECT_UMASK);
+        LASSERTF(OBD_CONNECT_EINPROGRESS == 0x80000000000ULL, "found 0x%.16llxULL\n",
+                 OBD_CONNECT_EINPROGRESS);
+        LASSERTF(OBD_CONNECT_GRANT_PARAM == 0x100000000000ULL, "found 0x%.16llxULL\n",
+                 OBD_CONNECT_GRANT_PARAM);
         LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                  (unsigned)OBD_CKSUM_CRC32);
         LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
@@ -1036,10 +1193,10 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct obdo, o_gid_h));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_gid_h) == 4, "found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_gid_h));
-        LASSERTF((int)offsetof(struct obdo, o_padding_3) == 176, "found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_padding_3));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_3) == 8, "found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_padding_3));
+        LASSERTF((int)offsetof(struct obdo, o_data_version) == 176, "found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_data_version));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_data_version) == 8, "found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_data_version));
         LASSERTF((int)offsetof(struct obdo, o_padding_4) == 184, "found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_padding_4));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_padding_4) == 8, "found %lld\n",
@@ -1146,6 +1303,8 @@ void lustre_assert_wire_constants(void)
                  OBD_MD_FLRMTRSETFACL);
         LASSERTF(OBD_MD_FLRMTRGETFACL == (0x0008000000000000ULL), "found 0x%.16llxULL\n",
                  OBD_MD_FLRMTRGETFACL);
+        LASSERTF(OBD_MD_FLDATAVERSION == (0x0010000000000000ULL), "found 0x%.16llxULL\n",
+                 OBD_MD_FLDATAVERSION);
         CLASSERT(OBD_FL_INLINEDATA == 0x00000001);
         CLASSERT(OBD_FL_OBDMDEXISTS == 0x00000002);
         CLASSERT(OBD_FL_DELORPHAN == 0x00000004);
@@ -1213,8 +1372,12 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size));
         LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_count) == 28, "found %lld\n",
                  (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_count));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count) == 4, "found %lld\n",
+        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count) == 2, "found %lld\n",
                  (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_count));
+        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_layout_gen) == 30, "found %lld\n",
+                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_layout_gen));
+        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen) == 2, "found %lld\n",
+                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_layout_gen));
         LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_objects[0]) == 32, "found %lld\n",
                  (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",
@@ -1246,8 +1409,12 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size));
         LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_count) == 28, "found %lld\n",
                  (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_count));
-        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count) == 4, "found %lld\n",
+        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count) == 2, "found %lld\n",
                  (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_count));
+        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_layout_gen) == 30, "found %lld\n",
+                 (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]));
@@ -1708,22 +1875,24 @@ void lustre_assert_wire_constants(void)
                  (long long)MDS_OPEN_NORESTORE);
         LASSERTF(MDS_OPEN_NEWSTRIPE == 00000000000200000000000ULL, "found 0%.22lloULL\n",
                  (long long)MDS_OPEN_NEWSTRIPE);
-        LASSERTF(MDS_SYNC_FL == 0x00000008, "found 0x%.8x\n",
-                 MDS_SYNC_FL);
-        LASSERTF(MDS_IMMUTABLE_FL == 0x00000010, "found 0x%.8x\n",
-                 MDS_IMMUTABLE_FL);
-        LASSERTF(MDS_APPEND_FL == 0x00000020, "found 0x%.8x\n",
-                 MDS_APPEND_FL);
-        LASSERTF(MDS_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
-                 MDS_NOATIME_FL);
-        LASSERTF(MDS_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
-                 MDS_DIRSYNC_FL);
+        LASSERTF(LUSTRE_SYNC_FL == 0x00000008, "found 0x%.8x\n",
+                 LUSTRE_SYNC_FL);
+        LASSERTF(LUSTRE_IMMUTABLE_FL == 0x00000010, "found 0x%.8x\n",
+                 LUSTRE_IMMUTABLE_FL);
+        LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
+                 LUSTRE_APPEND_FL);
+        LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
+                 LUSTRE_NOATIME_FL);
+        LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
+                 LUSTRE_DIRSYNC_FL);
         LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
                  MDS_INODELOCK_LOOKUP);
         LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
                  MDS_INODELOCK_UPDATE);
         LASSERTF(MDS_INODELOCK_OPEN == 0x000004, "found 0x%.8x\n",
                  MDS_INODELOCK_OPEN);
+        LASSERTF(MDS_INODELOCK_LAYOUT == 0x000008, "found 0x%.8x\n",
+                 MDS_INODELOCK_LAYOUT);
 
         /* Checks for struct mdt_ioepoch */
         LASSERTF((int)sizeof(struct mdt_ioepoch) == 24, "found %lld\n",
@@ -3137,6 +3306,50 @@ 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_setinfo */
         LASSERTF((int)sizeof(struct changelog_setinfo) == 12, "found %lld\n",
                  (long long)(int)sizeof(struct changelog_setinfo));
@@ -3675,32 +3888,32 @@ void lustre_assert_wire_constants(void)
 #ifdef LIBLUSTRE_POSIX_ACL
 
         /* Checks for type posix_acl_xattr_entry */
-        LASSERTF((int)sizeof(xattr_acl_entry) == 8, "found %lld\n",
-                 (long long)(int)sizeof(xattr_acl_entry));
-        LASSERTF((int)offsetof(xattr_acl_entry, e_tag) == 0, "found %lld\n",
-                 (long long)(int)offsetof(xattr_acl_entry, e_tag));
-        LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_tag) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((xattr_acl_entry *)0)->e_tag));
-        LASSERTF((int)offsetof(xattr_acl_entry, e_perm) == 2, "found %lld\n",
-                 (long long)(int)offsetof(xattr_acl_entry, e_perm));
-        LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_perm) == 2, "found %lld\n",
-                 (long long)(int)sizeof(((xattr_acl_entry *)0)->e_perm));
-        LASSERTF((int)offsetof(xattr_acl_entry, e_id) == 4, "found %lld\n",
-                 (long long)(int)offsetof(xattr_acl_entry, e_id));
-        LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_id) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((xattr_acl_entry *)0)->e_id));
+        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));
 
         /* Checks for type posix_acl_xattr_header */
-        LASSERTF((int)sizeof(xattr_acl_header) == 4, "found %lld\n",
-                 (long long)(int)sizeof(xattr_acl_header));
-        LASSERTF((int)offsetof(xattr_acl_header, a_version) == 0, "found %lld\n",
-                 (long long)(int)offsetof(xattr_acl_header, a_version));
-        LASSERTF((int)sizeof(((xattr_acl_header *)0)->a_version) == 4, "found %lld\n",
-                 (long long)(int)sizeof(((xattr_acl_header *)0)->a_version));
-        LASSERTF((int)offsetof(xattr_acl_header, a_entries) == 4, "found %lld\n",
-                 (long long)(int)offsetof(xattr_acl_header, a_entries));
-        LASSERTF((int)sizeof(((xattr_acl_header *)0)->a_entries) == 0, "found %lld\n",
-                 (long long)(int)sizeof(((xattr_acl_header *)0)->a_entries));
+        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
 
         /* Checks for struct link_ea_header */