Whamcloud - gitweb
LU-1715 ptlrpc: flock deadlock detection does not work
[fs/lustre-release.git] / lustre / ptlrpc / wiretest.c
index a4e2dcd..4ae2e64 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, Intel Corporation.
+ * Copyright (c) 2011, 2013, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -54,7 +54,7 @@ void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux centos6-bis 2.6.32-279.2.1.el6-head #0 SMP Thu Aug 9 23:25:09 CEST 2012 x
+         * running on Linux centos6-bis 2.6.32-358.0.1.el6-head #3 SMP Wed Apr 17 17:37:43 CEST 2013 
          * with gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)  */
 
 
@@ -178,7 +178,9 @@ void lustre_assert_wire_constants(void)
                 (long long)MDS_HSM_CT_REGISTER);
        LASSERTF(MDS_HSM_CT_UNREGISTER == 60, "found %lld\n",
                 (long long)MDS_HSM_CT_UNREGISTER);
-       LASSERTF(MDS_LAST_OPC == 61, "found %lld\n",
+       LASSERTF(MDS_SWAP_LAYOUTS == 61, "found %lld\n",
+                (long long)MDS_SWAP_LAYOUTS);
+       LASSERTF(MDS_LAST_OPC == 62, "found %lld\n",
                 (long long)MDS_LAST_OPC);
        LASSERTF(REINT_SETATTR == 1, "found %lld\n",
                 (long long)REINT_SETATTR);
@@ -194,7 +196,9 @@ void lustre_assert_wire_constants(void)
                 (long long)REINT_OPEN);
        LASSERTF(REINT_SETXATTR == 7, "found %lld\n",
                 (long long)REINT_SETXATTR);
-       LASSERTF(REINT_MAX == 8, "found %lld\n",
+       LASSERTF(REINT_RMENTRY == 8, "found %lld\n",
+                (long long)REINT_RMENTRY);
+       LASSERTF(REINT_MAX == 9, "found %lld\n",
                 (long long)REINT_MAX);
        LASSERTF(DISP_IT_EXECD == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)DISP_IT_EXECD);
@@ -333,6 +337,10 @@ void lustre_assert_wire_constants(void)
        CLASSERT(LDLM_MAX_TYPE == 14);
        CLASSERT(LUSTRE_RES_ID_SEQ_OFF == 0);
        CLASSERT(LUSTRE_RES_ID_VER_OID_OFF == 1);
+       LASSERTF(UPDATE_OBJ == 1000, "found %lld\n",
+                (long long)UPDATE_OBJ);
+       LASSERTF(UPDATE_LAST_OPC == 1001, "found %lld\n",
+                (long long)UPDATE_LAST_OPC);
        CLASSERT(LUSTRE_RES_ID_QUOTA_SEQ_OFF == 2);
        CLASSERT(LUSTRE_RES_ID_QUOTA_VER_OID_OFF == 3);
        CLASSERT(LUSTRE_RES_ID_HSH_OFF == 3);
@@ -409,7 +417,7 @@ void lustre_assert_wire_constants(void)
                 (long long)LU_SEQ_RANGE_OST);
 
        /* Checks for struct lustre_mdt_attrs */
-       LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 32, "found %lld\n",
+       LASSERTF((int)sizeof(struct lustre_mdt_attrs) == 24, "found %lld\n",
                 (long long)(int)sizeof(struct lustre_mdt_attrs));
        LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_compat) == 0, "found %lld\n",
                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_compat));
@@ -423,16 +431,40 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lustre_mdt_attrs, lma_self_fid));
        LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid) == 16, "found %lld\n",
                 (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_self_fid));
-       LASSERTF((int)offsetof(struct lustre_mdt_attrs, lma_flags) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct lustre_mdt_attrs, lma_flags));
-       LASSERTF((int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lustre_mdt_attrs *)0)->lma_flags));
        LASSERTF(LMAI_RELEASED == 0x00000001UL, "found 0x%.8xUL\n",
                (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",
+               (unsigned)LMAC_FID_ON_OST);
+       LASSERTF(OBJ_CREATE == 1, "found %lld\n",
+                (long long)OBJ_CREATE);
+       LASSERTF(OBJ_DESTROY == 2, "found %lld\n",
+                (long long)OBJ_DESTROY);
+       LASSERTF(OBJ_REF_ADD == 3, "found %lld\n",
+                (long long)OBJ_REF_ADD);
+       LASSERTF(OBJ_REF_DEL == 4, "found %lld\n",
+                (long long)OBJ_REF_DEL);
+       LASSERTF(OBJ_ATTR_SET == 5, "found %lld\n",
+                (long long)OBJ_ATTR_SET);
+       LASSERTF(OBJ_ATTR_GET == 6, "found %lld\n",
+                (long long)OBJ_ATTR_GET);
+       LASSERTF(OBJ_XATTR_SET == 7, "found %lld\n",
+                (long long)OBJ_XATTR_SET);
+       LASSERTF(OBJ_XATTR_GET == 8, "found %lld\n",
+                (long long)OBJ_XATTR_GET);
+       LASSERTF(OBJ_INDEX_LOOKUP == 9, "found %lld\n",
+                (long long)OBJ_INDEX_LOOKUP);
+       LASSERTF(OBJ_INDEX_LOOKUP == 9, "found %lld\n",
+                (long long)OBJ_INDEX_LOOKUP);
+       LASSERTF(OBJ_INDEX_INSERT == 10, "found %lld\n",
+                (long long)OBJ_INDEX_INSERT);
+       LASSERTF(OBJ_INDEX_DELETE == 11, "found %lld\n",
+                (long long)OBJ_INDEX_DELETE);
 
        /* Checks for struct som_attrs */
        LASSERTF((int)sizeof(struct som_attrs) == 40, "found %lld\n",
@@ -485,14 +517,10 @@ void lustre_assert_wire_constants(void)
        /* Checks for struct ost_id */
        LASSERTF((int)sizeof(struct ost_id) == 16, "found %lld\n",
                 (long long)(int)sizeof(struct ost_id));
-       LASSERTF((int)offsetof(struct ost_id, oi_id) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct ost_id, oi_id));
-       LASSERTF((int)sizeof(((struct ost_id *)0)->oi_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ost_id *)0)->oi_id));
-       LASSERTF((int)offsetof(struct ost_id, oi_seq) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct ost_id, oi_seq));
-       LASSERTF((int)sizeof(((struct ost_id *)0)->oi_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct ost_id *)0)->oi_seq));
+       LASSERTF((int)offsetof(struct ost_id, oi) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct ost_id, oi));
+       LASSERTF((int)sizeof(((struct ost_id *)0)->oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct ost_id *)0)->oi));
        LASSERTF(LUSTRE_FID_INIT_OID == 1, "found %lld\n",
                 (long long)LUSTRE_FID_INIT_OID);
        LASSERTF(FID_SEQ_OST_MDT0 == 0, "found %lld\n",
@@ -527,6 +555,8 @@ void lustre_assert_wire_constants(void)
                        (long long)FID_SEQ_QUOTA);
        LASSERTF(FID_SEQ_QUOTA_GLB == 0x0000000200000006ULL, "found 0x%.16llxULL\n",
                        (long long)FID_SEQ_QUOTA_GLB);
+       LASSERTF(FID_SEQ_ROOT == 0x0000000200000007ULL, "found 0x%.16llxULL\n",
+                       (long long)FID_SEQ_ROOT);
        LASSERTF(FID_SEQ_NORMAL == 0x0000000200000400ULL, "found 0x%.16llxULL\n",
                        (long long)FID_SEQ_NORMAL);
        LASSERTF(FID_SEQ_LOV_DEFAULT == 0xffffffffffffffffULL, "found 0x%.16llxULL\n",
@@ -1126,6 +1156,10 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT_LIGHTWEIGHT);
        LASSERTF(OBD_CONNECT_SHORTIO == 0x2000000000000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT_SHORTIO);
+       LASSERTF(OBD_CONNECT_PINGLESS == 0x4000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_PINGLESS);
+       LASSERTF(OBD_CONNECT_FLOCK_DEAD == 0x8000000000000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT_FLOCK_DEAD);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)OBD_CKSUM_CRC32);
        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
@@ -1140,14 +1174,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct obdo, o_valid));
        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
-       LASSERTF((int)offsetof(struct obdo, o_oi.oi_id) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct obdo, o_oi.oi_id));
-       LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_id));
-       LASSERTF((int)offsetof(struct obdo, o_oi.oi_seq) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct obdo, o_oi.oi_seq));
-       LASSERTF((int)sizeof(((struct obdo *)0)->o_oi.oi_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct obdo *)0)->o_oi.oi_seq));
+       LASSERTF((int)offsetof(struct obdo, o_oi) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct obdo, o_oi));
+       LASSERTF((int)sizeof(((struct obdo *)0)->o_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct obdo *)0)->o_oi));
        LASSERTF((int)offsetof(struct obdo, o_parent_seq) == 24, "found %lld\n",
                 (long long)(int)offsetof(struct obdo, o_parent_seq));
        LASSERTF((int)sizeof(((struct obdo *)0)->o_parent_seq) == 8, "found %lld\n",
@@ -1316,6 +1346,8 @@ void lustre_assert_wire_constants(void)
                 OBD_MD_REINT);
        LASSERTF(OBD_MD_MEA == (0x0000000400000000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_MEA);
+       LASSERTF(OBD_MD_TSTATE == (0x0000000800000000ULL), "found 0x%.16llxULL\n",
+                OBD_MD_TSTATE);
        LASSERTF(OBD_MD_FLXATTR == (0x0000001000000000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_FLXATTR);
        LASSERTF(OBD_MD_FLXATTRLS == (0x0000002000000000ULL), "found 0x%.16llxULL\n",
@@ -1371,14 +1403,10 @@ void lustre_assert_wire_constants(void)
        /* Checks for struct lov_ost_data_v1 */
        LASSERTF((int)sizeof(struct lov_ost_data_v1) == 24, "found %lld\n",
                 (long long)(int)sizeof(struct lov_ost_data_v1));
-       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_id) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct lov_ost_data_v1, l_object_id));
-       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_id));
-       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_object_seq) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct lov_ost_data_v1, l_object_seq));
-       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_object_seq));
+       LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_oi) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_oi));
+       LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_oi));
        LASSERTF((int)offsetof(struct lov_ost_data_v1, l_ost_gen) == 16, "found %lld\n",
                 (long long)(int)offsetof(struct lov_ost_data_v1, l_ost_gen));
        LASSERTF((int)sizeof(((struct lov_ost_data_v1 *)0)->l_ost_gen) == 4, "found %lld\n",
@@ -1399,14 +1427,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_pattern));
        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_pattern));
-       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_id) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_id));
-       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_id));
-       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_object_seq) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_object_seq));
-       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_object_seq));
+       LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_oi) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v1, lmm_oi));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_oi));
        LASSERTF((int)offsetof(struct lov_mds_md_v1, lmm_stripe_size) == 24, "found %lld\n",
                 (long long)(int)offsetof(struct lov_mds_md_v1, lmm_stripe_size));
        LASSERTF((int)sizeof(((struct lov_mds_md_v1 *)0)->lmm_stripe_size) == 4, "found %lld\n",
@@ -1436,14 +1460,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_pattern));
        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_pattern));
-       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_id) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_id));
-       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_id));
-       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_object_seq) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_object_seq));
-       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_object_seq));
+       LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_oi) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct lov_mds_md_v3, lmm_oi));
+       LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_oi));
        LASSERTF((int)offsetof(struct lov_mds_md_v3, lmm_stripe_size) == 24, "found %lld\n",
                 (long long)(int)offsetof(struct lov_mds_md_v3, lmm_stripe_size));
        LASSERTF((int)sizeof(((struct lov_mds_md_v3 *)0)->lmm_stripe_size) == 4, "found %lld\n",
@@ -1554,18 +1574,14 @@ void lustre_assert_wire_constants(void)
        /* Checks for struct obd_ioobj */
        LASSERTF((int)sizeof(struct obd_ioobj) == 24, "found %lld\n",
                 (long long)(int)sizeof(struct obd_ioobj));
-       LASSERTF((int)offsetof(struct obd_ioobj, ioo_oid.oi_id) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct obd_ioobj, ioo_oid.oi_id));
-       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_id) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_id));
-       LASSERTF((int)offsetof(struct obd_ioobj, ioo_oid.oi_seq) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct obd_ioobj, ioo_oid.oi_seq));
-       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_seq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_oid.oi_seq));
-       LASSERTF((int)offsetof(struct obd_ioobj, ioo_type) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct obd_ioobj, ioo_type));
-       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_type) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_type));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_oid) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_oid));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_oid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_oid));
+       LASSERTF((int)offsetof(struct obd_ioobj, ioo_max_brw) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct obd_ioobj, ioo_max_brw));
+       LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_max_brw) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_max_brw));
        LASSERTF((int)offsetof(struct obd_ioobj, ioo_bufcnt) == 20, "found %lld\n",
                 (long long)(int)offsetof(struct obd_ioobj, ioo_bufcnt));
        LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt) == 4, "found %lld\n",
@@ -1915,10 +1931,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct mdt_body, blocks));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
-       LASSERTF((int)offsetof(struct mdt_body, ino) == 96, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, ino));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->ino) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->ino));
+       LASSERTF((int)offsetof(struct mdt_body, t_state) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, t_state));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->t_state) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->t_state));
        LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, "found %lld\n",
                 (long long)(int)offsetof(struct mdt_body, fsuid));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, "found %lld\n",
@@ -1955,10 +1971,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct mdt_body, nlink));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->nlink) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct mdt_body *)0)->nlink));
-       LASSERTF((int)offsetof(struct mdt_body, generation) == 140, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, generation));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->generation) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->generation));
+       LASSERTF((int)offsetof(struct mdt_body, unused2) == 140, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, unused2));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->unused2) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->unused2));
        LASSERTF((int)offsetof(struct mdt_body, suppgid) == 144, "found %lld\n",
                 (long long)(int)offsetof(struct mdt_body, suppgid));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->suppgid) == 4, "found %lld\n",
@@ -2809,14 +2825,14 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct mdt_rec_reint, rr_flags));
        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_flags) == 4, "found %lld\n",
                 (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_flags));
-       LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_2) == 124, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_2));
-       LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_2));
-       LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_3) == 128, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_3));
-       LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_3));
+       LASSERTF((int)offsetof(struct mdt_rec_reint, rr_flags_h) == 124, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_reint, rr_flags_h));
+       LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_flags_h) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_flags_h));
+       LASSERTF((int)offsetof(struct mdt_rec_reint, rr_umask) == 128, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_rec_reint, rr_umask));
+       LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_umask) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_rec_reint *)0)->rr_umask));
        LASSERTF((int)offsetof(struct mdt_rec_reint, rr_padding_4) == 132, "found %lld\n",
                 (long long)(int)offsetof(struct mdt_rec_reint, rr_padding_4));
        LASSERTF((int)sizeof(((struct mdt_rec_reint *)0)->rr_padding_4) == 4, "found %lld\n",
@@ -3267,14 +3283,10 @@ void lustre_assert_wire_constants(void)
        /* Checks for struct llog_logid */
        LASSERTF((int)sizeof(struct llog_logid) == 20, "found %lld\n",
                 (long long)(int)sizeof(struct llog_logid));
-       LASSERTF((int)offsetof(struct llog_logid, lgl_oid) == 0, "found %lld\n",
-                (long long)(int)offsetof(struct llog_logid, lgl_oid));
-       LASSERTF((int)sizeof(((struct llog_logid *)0)->lgl_oid) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_logid *)0)->lgl_oid));
-       LASSERTF((int)offsetof(struct llog_logid, lgl_oseq) == 8, "found %lld\n",
-                (long long)(int)offsetof(struct llog_logid, lgl_oseq));
-       LASSERTF((int)sizeof(((struct llog_logid *)0)->lgl_oseq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_logid *)0)->lgl_oseq));
+       LASSERTF((int)offsetof(struct llog_logid, lgl_oi) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct llog_logid, lgl_oi));
+       LASSERTF((int)sizeof(((struct llog_logid *)0)->lgl_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_logid *)0)->lgl_oi));
        LASSERTF((int)offsetof(struct llog_logid, lgl_ogen) == 16, "found %lld\n",
                 (long long)(int)offsetof(struct llog_logid, lgl_ogen));
        LASSERTF((int)sizeof(((struct llog_logid *)0)->lgl_ogen) == 4, "found %lld\n",
@@ -3432,14 +3444,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_hdr));
        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_hdr) == 16, "found %lld\n",
                 (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_hdr));
-       LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_oid) == 16, "found %lld\n",
-                (long long)(int)offsetof(struct llog_setattr64_rec, lsr_oid));
-       LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oid) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oid));
-       LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_oseq) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct llog_setattr64_rec, lsr_oseq));
-       LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oseq) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oseq));
+       LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_oi) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct llog_setattr64_rec, lsr_oi));
+       LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oi) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct llog_setattr64_rec *)0)->lsr_oi));
        LASSERTF((int)offsetof(struct llog_setattr64_rec, lsr_uid) == 32, "found %lld\n",
                 (long long)(int)offsetof(struct llog_setattr64_rec, lsr_uid));
        LASSERTF((int)sizeof(((struct llog_setattr64_rec *)0)->lsr_uid) == 4, "found %lld\n",
@@ -4209,10 +4217,10 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct hsm_action_list, hal_flags));
        LASSERTF((int)sizeof(((struct hsm_action_list *)0)->hal_flags) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct hsm_action_list *)0)->hal_flags));
-       LASSERTF((int)offsetof(struct hsm_action_list, hal_archive_num) == 24, "found %lld\n",
-                (long long)(int)offsetof(struct hsm_action_list, hal_archive_num));
-       LASSERTF((int)sizeof(((struct hsm_action_list *)0)->hal_archive_num) == 4, "found %lld\n",
-                (long long)(int)sizeof(((struct hsm_action_list *)0)->hal_archive_num));
+       LASSERTF((int)offsetof(struct hsm_action_list, hal_archive_id) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_action_list, hal_archive_id));
+       LASSERTF((int)sizeof(((struct hsm_action_list *)0)->hal_archive_id) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_action_list *)0)->hal_archive_id));
        LASSERTF((int)offsetof(struct hsm_action_list, padding1) == 28, "found %lld\n",
                 (long long)(int)offsetof(struct hsm_action_list, padding1));
        LASSERTF((int)sizeof(((struct hsm_action_list *)0)->padding1) == 4, "found %lld\n",
@@ -4366,5 +4374,157 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct hsm_state_set, hss_clearmask));
        LASSERTF((int)sizeof(((struct hsm_state_set *)0)->hss_clearmask) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct hsm_state_set *)0)->hss_clearmask));
+
+       /* Checks for struct hsm_current_action */
+       LASSERTF((int)sizeof(struct hsm_current_action) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct hsm_current_action));
+       LASSERTF((int)offsetof(struct hsm_current_action, hca_state) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_current_action, hca_state));
+       LASSERTF((int)sizeof(((struct hsm_current_action *)0)->hca_state) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_current_action *)0)->hca_state));
+       LASSERTF((int)offsetof(struct hsm_current_action, hca_action) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_current_action, hca_action));
+       LASSERTF((int)sizeof(((struct hsm_current_action *)0)->hca_action) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_current_action *)0)->hca_action));
+       LASSERTF((int)offsetof(struct hsm_current_action, hca_location) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_current_action, hca_location));
+       LASSERTF((int)sizeof(((struct hsm_current_action *)0)->hca_location) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_current_action *)0)->hca_location));
+
+       /* Checks for struct hsm_request */
+       LASSERTF((int)sizeof(struct hsm_request) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct hsm_request));
+       LASSERTF((int)offsetof(struct hsm_request, hr_action) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_request, hr_action));
+       LASSERTF((int)sizeof(((struct hsm_request *)0)->hr_action) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_request *)0)->hr_action));
+       LASSERTF((int)offsetof(struct hsm_request, hr_archive_id) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_request, hr_archive_id));
+       LASSERTF((int)sizeof(((struct hsm_request *)0)->hr_archive_id) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_request *)0)->hr_archive_id));
+       LASSERTF((int)offsetof(struct hsm_request, hr_flags) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_request, hr_flags));
+       LASSERTF((int)sizeof(((struct hsm_request *)0)->hr_flags) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_request *)0)->hr_flags));
+       LASSERTF((int)offsetof(struct hsm_request, hr_itemcount) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_request, hr_itemcount));
+       LASSERTF((int)sizeof(((struct hsm_request *)0)->hr_itemcount) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_request *)0)->hr_itemcount));
+       LASSERTF((int)offsetof(struct hsm_request, hr_data_len) == 20, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_request, hr_data_len));
+       LASSERTF((int)sizeof(((struct hsm_request *)0)->hr_data_len) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_request *)0)->hr_data_len));
+       LASSERTF(HSM_FORCE_ACTION == 0x00000001UL, "found 0x%.8xUL\n",
+               (unsigned)HSM_FORCE_ACTION);
+       LASSERTF(HSM_GHOST_COPY == 0x00000002UL, "found 0x%.8xUL\n",
+               (unsigned)HSM_GHOST_COPY);
+
+       /* Checks for struct hsm_user_request */
+       LASSERTF((int)sizeof(struct hsm_user_request) == 24, "found %lld\n",
+                (long long)(int)sizeof(struct hsm_user_request));
+       LASSERTF((int)offsetof(struct hsm_user_request, hur_request) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_request, hur_request));
+       LASSERTF((int)sizeof(((struct hsm_user_request *)0)->hur_request) == 24, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_request *)0)->hur_request));
+       LASSERTF((int)offsetof(struct hsm_user_request, hur_user_item) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_request, hur_user_item));
+       LASSERTF((int)sizeof(((struct hsm_user_request *)0)->hur_user_item) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_request *)0)->hur_user_item));
+
+       /* Checks for struct hsm_user_import */
+       LASSERTF((int)sizeof(struct hsm_user_import) == 48, "found %lld\n",
+                (long long)(int)sizeof(struct hsm_user_import));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_size) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_size));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_size) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_size));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_uid) == 32, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_uid));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_uid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_uid));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_gid) == 36, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_gid));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_gid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_gid));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_mode) == 40, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_mode));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_mode) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_mode));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_atime) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_atime));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_atime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_atime));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_atime_ns) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_atime_ns));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_atime_ns) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_atime_ns));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_mtime) == 16, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_mtime));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_mtime) == 8, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_mtime));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_mtime_ns) == 28, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_mtime_ns));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_mtime_ns) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_mtime_ns));
+       LASSERTF((int)offsetof(struct hsm_user_import, hui_archive_id) == 44, "found %lld\n",
+                (long long)(int)offsetof(struct hsm_user_import, hui_archive_id));
+       LASSERTF((int)sizeof(((struct hsm_user_import *)0)->hui_archive_id) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct hsm_user_import *)0)->hui_archive_id));
+
+       /* Checks for struct update_buf */
+       LASSERTF((int)sizeof(struct update_buf) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct update_buf));
+       LASSERTF((int)offsetof(struct update_buf, ub_magic) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_buf, ub_magic));
+       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_magic) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_buf *)0)->ub_magic));
+       LASSERTF((int)offsetof(struct update_buf, ub_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct update_buf, ub_count));
+       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_buf *)0)->ub_count));
+       LASSERTF((int)offsetof(struct update_buf, ub_bufs) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct update_buf, ub_bufs));
+       LASSERTF((int)sizeof(((struct update_buf *)0)->ub_bufs) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update_buf *)0)->ub_bufs));
+
+       /* Checks for struct update_reply */
+       LASSERTF((int)sizeof(struct update_reply) == 8, "found %lld\n",
+                (long long)(int)sizeof(struct update_reply));
+       LASSERTF((int)offsetof(struct update_reply, ur_version) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update_reply, ur_version));
+       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_version) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_reply *)0)->ur_version));
+       LASSERTF((int)offsetof(struct update_reply, ur_count) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct update_reply, ur_count));
+       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_count) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update_reply *)0)->ur_count));
+       LASSERTF((int)offsetof(struct update_reply, ur_lens) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct update_reply, ur_lens));
+       LASSERTF((int)sizeof(((struct update_reply *)0)->ur_lens) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update_reply *)0)->ur_lens));
+
+       /* Checks for struct update */
+       LASSERTF((int)sizeof(struct update) == 56, "found %lld\n",
+                (long long)(int)sizeof(struct update));
+       LASSERTF((int)offsetof(struct update, u_type) == 0, "found %lld\n",
+                (long long)(int)offsetof(struct update, u_type));
+       LASSERTF((int)sizeof(((struct update *)0)->u_type) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update *)0)->u_type));
+       LASSERTF((int)offsetof(struct update, u_batchid) == 4, "found %lld\n",
+                (long long)(int)offsetof(struct update, u_batchid));
+       LASSERTF((int)sizeof(((struct update *)0)->u_batchid) == 4, "found %lld\n",
+                (long long)(int)sizeof(((struct update *)0)->u_batchid));
+       LASSERTF((int)offsetof(struct update, u_fid) == 8, "found %lld\n",
+                (long long)(int)offsetof(struct update, u_fid));
+       LASSERTF((int)sizeof(((struct update *)0)->u_fid) == 16, "found %lld\n",
+                (long long)(int)sizeof(((struct update *)0)->u_fid));
+       LASSERTF((int)offsetof(struct update, u_lens) == 24, "found %lld\n",
+                (long long)(int)offsetof(struct update, u_lens));
+       LASSERTF((int)sizeof(((struct update *)0)->u_lens) == 32, "found %lld\n",
+                (long long)(int)sizeof(((struct update *)0)->u_lens));
+       LASSERTF((int)offsetof(struct update, u_bufs) == 56, "found %lld\n",
+                (long long)(int)offsetof(struct update, u_bufs));
+       LASSERTF((int)sizeof(((struct update *)0)->u_bufs) == 0, "found %lld\n",
+                (long long)(int)sizeof(((struct update *)0)->u_bufs));
 }