Whamcloud - gitweb
LU-241 Support crc32c with hardware accelerated instruction as one of lustre checksums
[fs/lustre-release.git] / lustre / utils / wirecheck.c
index 9dab8b5..5ea06e7 100644 (file)
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
+ * Copyright (c) 2011 Whamcloud, Inc.
+ */
+/*
  * This file is part of Lustre, http://www.lustre.org/
  * Lustre is a trademark of Sun Microsystems, Inc.
  */
@@ -171,6 +174,8 @@ check_ptlrpc_body(void)
         CHECK_MEMBER(ptlrpc_body, pb_service_time);
         CHECK_MEMBER(ptlrpc_body, pb_slv);
         CHECK_MEMBER(ptlrpc_body, pb_limit);
+        CHECK_CVALUE(PTLRPC_NUM_VERSIONS);
+        CHECK_MEMBER(ptlrpc_body, pb_pre_versions[PTLRPC_NUM_VERSIONS]);
 }
 
 static void check_obd_connect_data(void)
@@ -188,35 +193,52 @@ static void check_obd_connect_data(void)
         CHECK_MEMBER(obd_connect_data, ocd_transno);
         CHECK_MEMBER(obd_connect_data, ocd_group);
         CHECK_MEMBER(obd_connect_data, ocd_cksum_types);
+        CHECK_MEMBER(obd_connect_data, ocd_max_easize);
+        CHECK_MEMBER(obd_connect_data, padding);
+        CHECK_MEMBER(obd_connect_data, ocd_maxbytes);
         CHECK_MEMBER(obd_connect_data, padding1);
         CHECK_MEMBER(obd_connect_data, padding2);
 
         CHECK_CDEFINE(OBD_CONNECT_RDONLY);
         CHECK_CDEFINE(OBD_CONNECT_INDEX);
+        CHECK_CDEFINE(OBD_CONNECT_MDS);
         CHECK_CDEFINE(OBD_CONNECT_GRANT);
         CHECK_CDEFINE(OBD_CONNECT_SRVLOCK);
         CHECK_CDEFINE(OBD_CONNECT_VERSION);
         CHECK_CDEFINE(OBD_CONNECT_REQPORTAL);
         CHECK_CDEFINE(OBD_CONNECT_ACL);
         CHECK_CDEFINE(OBD_CONNECT_XATTR);
-        CHECK_CDEFINE(OBD_CONNECT_REAL);
-        CHECK_CDEFINE(OBD_CONNECT_CKSUM);
+        CHECK_CDEFINE(OBD_CONNECT_CROW);
         CHECK_CDEFINE(OBD_CONNECT_TRUNCLOCK);
+        CHECK_CDEFINE(OBD_CONNECT_TRANSNO);
         CHECK_CDEFINE(OBD_CONNECT_IBITS);
         CHECK_CDEFINE(OBD_CONNECT_JOIN);
         CHECK_CDEFINE(OBD_CONNECT_ATTRFID);
         CHECK_CDEFINE(OBD_CONNECT_NODEVOH);
-        CHECK_CDEFINE(OBD_CONNECT_LCL_CLIENT);
         CHECK_CDEFINE(OBD_CONNECT_RMT_CLIENT);
+        CHECK_CDEFINE(OBD_CONNECT_RMT_CLIENT_FORCE);
         CHECK_CDEFINE(OBD_CONNECT_BRW_SIZE);
         CHECK_CDEFINE(OBD_CONNECT_QUOTA64);
         CHECK_CDEFINE(OBD_CONNECT_MDS_CAPA);
         CHECK_CDEFINE(OBD_CONNECT_OSS_CAPA);
-        CHECK_CDEFINE(OBD_CONNECT_MDS_MDS);
+        CHECK_CDEFINE(OBD_CONNECT_CANCELSET);
         CHECK_CDEFINE(OBD_CONNECT_SOM);
         CHECK_CDEFINE(OBD_CONNECT_AT);
-        CHECK_CDEFINE(OBD_CONNECT_CANCELSET);
         CHECK_CDEFINE(OBD_CONNECT_LRU_RESIZE);
+        CHECK_CDEFINE(OBD_CONNECT_MDS_MDS);
+        CHECK_CDEFINE(OBD_CONNECT_REAL);
+        CHECK_CDEFINE(OBD_CONNECT_CHANGE_QS);
+        CHECK_CDEFINE(OBD_CONNECT_CKSUM);
+        CHECK_CDEFINE(OBD_CONNECT_FID);
+        CHECK_CDEFINE(OBD_CONNECT_VBR);
+        CHECK_CDEFINE(OBD_CONNECT_LOV_V3);
+        CHECK_CDEFINE(OBD_CONNECT_GRANT_SHRINK);
+        CHECK_CDEFINE(OBD_CONNECT_SKIP_ORPHAN);
+        CHECK_CDEFINE(OBD_CONNECT_MAX_EASIZE);
+        CHECK_CDEFINE(OBD_CONNECT_FULL20);
+        CHECK_CDEFINE(OBD_CONNECT_LAYOUTLOCK);
+        CHECK_CDEFINE(OBD_CONNECT_64BITHASH);
+        CHECK_CDEFINE(OBD_CONNECT_MAXBYTES);
 }
 
 static void
@@ -226,8 +248,8 @@ check_obdo(void)
         CHECK_STRUCT(obdo);
         CHECK_MEMBER(obdo, o_valid);
         CHECK_MEMBER(obdo, o_id);
-        CHECK_MEMBER(obdo, o_gr);
-        CHECK_MEMBER(obdo, o_fid);
+        CHECK_MEMBER(obdo, o_seq);
+        CHECK_MEMBER(obdo, o_parent_seq);
         CHECK_MEMBER(obdo, o_size);
         CHECK_MEMBER(obdo, o_mtime);
         CHECK_MEMBER(obdo, o_atime);
@@ -240,19 +262,19 @@ check_obdo(void)
         CHECK_MEMBER(obdo, o_gid);
         CHECK_MEMBER(obdo, o_flags);
         CHECK_MEMBER(obdo, o_nlink);
-        CHECK_MEMBER(obdo, o_generation);
+        CHECK_MEMBER(obdo, o_parent_oid);
         CHECK_MEMBER(obdo, o_misc);
-        CHECK_MEMBER(obdo, o_easize);
-        CHECK_MEMBER(obdo, o_mds);
+        CHECK_MEMBER(obdo, o_ioepoch);
         CHECK_MEMBER(obdo, o_stripe_idx);
-        CHECK_MEMBER(obdo, o_padding_1);
+        CHECK_MEMBER(obdo, o_parent_ver);
         CHECK_MEMBER(obdo, o_handle);
         CHECK_MEMBER(obdo, o_lcookie);
-        CHECK_MEMBER(obdo, o_padding_2);
+        CHECK_MEMBER(obdo, o_uid_h);
+        CHECK_MEMBER(obdo, o_gid_h);
         CHECK_MEMBER(obdo, o_padding_3);
         CHECK_MEMBER(obdo, o_padding_4);
         CHECK_MEMBER(obdo, o_padding_5);
-        CHECK_MEMBER(obdo, o_padding_6);       
+        CHECK_MEMBER(obdo, o_padding_6);
 
         CHECK_CDEFINE(OBD_MD_FLID);
         CHECK_CDEFINE(OBD_MD_FLATIME);
@@ -290,20 +312,25 @@ check_obdo(void)
         CHECK_CDEFINE(OBD_MD_FLXATTRRM);
         CHECK_CDEFINE(OBD_MD_FLACL);
 
-        CHECK_CDEFINE(OBD_FL_INLINEDATA);
-        CHECK_CDEFINE(OBD_FL_OBDMDEXISTS);
-        CHECK_CDEFINE(OBD_FL_DELORPHAN);
-        CHECK_CDEFINE(OBD_FL_NORPC);
-        CHECK_CDEFINE(OBD_FL_IDONLY);
-        CHECK_CDEFINE(OBD_FL_RECREATE_OBJS);
-        CHECK_CDEFINE(OBD_FL_DEBUG_CHECK);
-        CHECK_CDEFINE(OBD_FL_NO_USRQUOTA);
-        CHECK_CDEFINE(OBD_FL_NO_GRPQUOTA);
-        CHECK_CDEFINE(OBD_FL_TRUNCLOCK);
-        CHECK_CDEFINE(OBD_FL_CKSUM_CRC32);
-        CHECK_CDEFINE(OBD_FL_CKSUM_ADLER);
+        CHECK_CVALUE(OBD_FL_INLINEDATA);
+        CHECK_CVALUE(OBD_FL_OBDMDEXISTS);
+        CHECK_CVALUE(OBD_FL_DELORPHAN);
+        CHECK_CVALUE(OBD_FL_NORPC);
+        CHECK_CVALUE(OBD_FL_IDONLY);
+        CHECK_CVALUE(OBD_FL_RECREATE_OBJS);
+        CHECK_CVALUE(OBD_FL_DEBUG_CHECK);
+        CHECK_CVALUE(OBD_FL_NO_USRQUOTA);
+        CHECK_CVALUE(OBD_FL_NO_GRPQUOTA);
+        CHECK_CVALUE(OBD_FL_SRVLOCK);
+        CHECK_CVALUE(OBD_FL_CKSUM_CRC32);
+        CHECK_CVALUE(OBD_FL_CKSUM_ADLER);
+        CHECK_CVALUE(OBD_FL_CKSUM_CRC32C);
+        CHECK_CVALUE(OBD_FL_SHRINK_GRANT);
+        CHECK_CVALUE(OBD_FL_MMAP);
+        CHECK_CVALUE(OBD_FL_RECOV_RESEND);
         CHECK_CVALUE(OBD_CKSUM_CRC32);
         CHECK_CVALUE(OBD_CKSUM_ADLER);
+        CHECK_CVALUE(OBD_CKSUM_CRC32C);
 }
 
 static void
@@ -314,7 +341,7 @@ check_lov_mds_md_v1(void)
         CHECK_MEMBER(lov_mds_md_v1, lmm_magic);
         CHECK_MEMBER(lov_mds_md_v1, lmm_pattern);
         CHECK_MEMBER(lov_mds_md_v1, lmm_object_id);
-        CHECK_MEMBER(lov_mds_md_v1, lmm_object_gr);
+        CHECK_MEMBER(lov_mds_md_v1, lmm_object_seq);
         CHECK_MEMBER(lov_mds_md_v1, lmm_stripe_size);
         CHECK_MEMBER(lov_mds_md_v1, lmm_stripe_count);
         CHECK_MEMBER(lov_mds_md_v1, lmm_objects);
@@ -322,25 +349,41 @@ check_lov_mds_md_v1(void)
         BLANK_LINE();
         CHECK_STRUCT(lov_ost_data_v1);
         CHECK_MEMBER(lov_ost_data_v1, l_object_id);
-        CHECK_MEMBER(lov_ost_data_v1, l_object_gr);
+        CHECK_MEMBER(lov_ost_data_v1, l_object_seq);
         CHECK_MEMBER(lov_ost_data_v1, l_ost_gen);
         CHECK_MEMBER(lov_ost_data_v1, l_ost_idx);
 
         CHECK_CDEFINE(LOV_MAGIC_V1);
-        CHECK_CDEFINE(LOV_MAGIC_JOIN);
 
         CHECK_VALUE(LOV_PATTERN_RAID0);
         CHECK_VALUE(LOV_PATTERN_RAID1);
 }
 
 static void
-check_lov_mds_md_join(void)
+check_lov_mds_md_v3(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(lov_mds_md_join);
-        CHECK_MEMBER(lov_mds_md_join, lmmj_md);
-        CHECK_MEMBER(lov_mds_md_join, lmmj_array_id);
-        CHECK_MEMBER(lov_mds_md_join, lmmj_extent_count);
+        CHECK_STRUCT(lov_mds_md_v3);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_magic);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_pattern);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_object_id);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_object_seq);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_size);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_count);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_pool_name);
+        CHECK_MEMBER(lov_mds_md_v3, lmm_objects);
+
+        BLANK_LINE();
+        CHECK_STRUCT(lov_ost_data_v1);
+        CHECK_MEMBER(lov_ost_data_v1, l_object_id);
+        CHECK_MEMBER(lov_ost_data_v1, l_object_seq);
+        CHECK_MEMBER(lov_ost_data_v1, l_ost_gen);
+        CHECK_MEMBER(lov_ost_data_v1, l_ost_idx);
+
+        CHECK_CDEFINE(LOV_MAGIC_V3);
+
+        CHECK_VALUE(LOV_PATTERN_RAID0);
+        CHECK_VALUE(LOV_PATTERN_RAID1);
 }
 
 static void
@@ -374,7 +417,7 @@ check_obd_ioobj(void)
         BLANK_LINE();
         CHECK_STRUCT(obd_ioobj);
         CHECK_MEMBER(obd_ioobj, ioo_id);
-        CHECK_MEMBER(obd_ioobj, ioo_gr);
+        CHECK_MEMBER(obd_ioobj, ioo_seq);
         CHECK_MEMBER(obd_ioobj, ioo_type);
         CHECK_MEMBER(obd_ioobj, ioo_bufcnt);
 }
@@ -516,7 +559,6 @@ check_mds_body(void)
         CHECK_CDEFINE(MDS_APPEND_FL);
         CHECK_CDEFINE(MDS_NOATIME_FL);
         CHECK_CDEFINE(MDS_DIRSYNC_FL);
-        CHECK_CDEFINE(MDS_BFLAG_EXT_FLAGS);
 
         CHECK_CDEFINE(MDS_INODELOCK_LOOKUP);
         CHECK_CDEFINE(MDS_INODELOCK_UPDATE);
@@ -524,116 +566,155 @@ check_mds_body(void)
 }
 
 static void
-check_mds_rec_setattr(void)
-{
-        BLANK_LINE();
-        CHECK_STRUCT(mds_rec_setattr);
-        CHECK_MEMBER(mds_rec_setattr, sa_opcode);
-        CHECK_MEMBER(mds_rec_setattr, sa_fsuid);
-        CHECK_MEMBER(mds_rec_setattr, sa_fsgid);
-        CHECK_MEMBER(mds_rec_setattr, sa_cap);
-        CHECK_MEMBER(mds_rec_setattr, sa_suppgid);
-        CHECK_MEMBER(mds_rec_setattr, sa_mode);
-        CHECK_MEMBER(mds_rec_setattr, sa_fid);
-        CHECK_MEMBER(mds_rec_setattr, sa_valid);
-        CHECK_MEMBER(mds_rec_setattr, sa_size);
-        CHECK_MEMBER(mds_rec_setattr, sa_mtime);
-        CHECK_MEMBER(mds_rec_setattr, sa_atime);
-        CHECK_MEMBER(mds_rec_setattr, sa_ctime);
-        CHECK_MEMBER(mds_rec_setattr, sa_uid);
-        CHECK_MEMBER(mds_rec_setattr, sa_gid);
-        CHECK_MEMBER(mds_rec_setattr, sa_attr_flags);
-        CHECK_CDEFINE(MDS_ATTR_MODE);
-        CHECK_CDEFINE(MDS_ATTR_UID);
-        CHECK_CDEFINE(MDS_ATTR_GID);
-        CHECK_CDEFINE(MDS_ATTR_SIZE);
-        CHECK_CDEFINE(MDS_ATTR_ATIME);
-        CHECK_CDEFINE(MDS_ATTR_MTIME);
-        CHECK_CDEFINE(MDS_ATTR_CTIME);
-        CHECK_CDEFINE(MDS_ATTR_ATIME_SET);
-        CHECK_CDEFINE(MDS_ATTR_MTIME_SET);
-        CHECK_CDEFINE(MDS_ATTR_FORCE);
-        CHECK_CDEFINE(MDS_ATTR_ATTR_FLAG);
-        CHECK_CDEFINE(MDS_ATTR_KILL_SUID);
-        CHECK_CDEFINE(MDS_ATTR_KILL_SGID);
-        CHECK_CDEFINE(MDS_ATTR_CTIME_SET);
-        CHECK_CDEFINE(MDS_ATTR_FROM_OPEN);
-        CHECK_CDEFINE(MDS_ATTR_BLOCKS);
-}
-
-static void
-check_mds_rec_create(void)
+check_mdt_rec_setattr(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(mds_rec_create);
-        CHECK_MEMBER(mds_rec_create, cr_opcode);
-        CHECK_MEMBER(mds_rec_create, cr_fsuid);
-        CHECK_MEMBER(mds_rec_create, cr_fsgid);
-        CHECK_MEMBER(mds_rec_create, cr_cap);
-        CHECK_MEMBER(mds_rec_create, cr_flags);
-        CHECK_MEMBER(mds_rec_create, cr_mode);
-        CHECK_MEMBER(mds_rec_create, cr_fid);
-        CHECK_MEMBER(mds_rec_create, cr_replayfid);
-        CHECK_MEMBER(mds_rec_create, cr_time);
-        CHECK_MEMBER(mds_rec_create, cr_rdev);
-        CHECK_MEMBER(mds_rec_create, cr_suppgid);
+        CHECK_STRUCT(mdt_rec_setattr);
+        CHECK_MEMBER(mdt_rec_setattr, sa_opcode);
+        CHECK_MEMBER(mdt_rec_setattr, sa_cap);
+        CHECK_MEMBER(mdt_rec_setattr, sa_fsuid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_fsuid_h);
+        CHECK_MEMBER(mdt_rec_setattr, sa_fsgid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_fsgid_h);
+        CHECK_MEMBER(mdt_rec_setattr, sa_suppgid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_suppgid_h);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_1);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_1_h);
+        CHECK_MEMBER(mdt_rec_setattr, sa_fid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_valid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_uid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_gid);
+        CHECK_MEMBER(mdt_rec_setattr, sa_size);
+        CHECK_MEMBER(mdt_rec_setattr, sa_blocks);
+        CHECK_MEMBER(mdt_rec_setattr, sa_mtime);
+        CHECK_MEMBER(mdt_rec_setattr, sa_atime);
+        CHECK_MEMBER(mdt_rec_setattr, sa_ctime);
+        CHECK_MEMBER(mdt_rec_setattr, sa_attr_flags);
+        CHECK_MEMBER(mdt_rec_setattr, sa_mode);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_2);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_3);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_4);
+        CHECK_MEMBER(mdt_rec_setattr, sa_padding_5);
 }
 
 static void
-check_mds_rec_link(void)
+check_mdt_rec_create(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(mds_rec_link);
-        CHECK_MEMBER(mds_rec_link, lk_opcode);
-        CHECK_MEMBER(mds_rec_link, lk_fsuid);
-        CHECK_MEMBER(mds_rec_link, lk_fsgid);
-        CHECK_MEMBER(mds_rec_link, lk_cap);
-        CHECK_MEMBER(mds_rec_link, lk_suppgid1);
-        CHECK_MEMBER(mds_rec_link, lk_suppgid2);
-        CHECK_MEMBER(mds_rec_link, lk_fid1);
-        CHECK_MEMBER(mds_rec_link, lk_fid2);
-        CHECK_MEMBER(mds_rec_link, lk_time);
+        CHECK_STRUCT(mdt_rec_create);
+        CHECK_MEMBER(mdt_rec_create, cr_opcode);
+        CHECK_MEMBER(mdt_rec_create, cr_cap);
+        CHECK_MEMBER(mdt_rec_create, cr_fsuid);
+        CHECK_MEMBER(mdt_rec_create, cr_fsuid_h);
+        CHECK_MEMBER(mdt_rec_create, cr_fsgid);
+        CHECK_MEMBER(mdt_rec_create, cr_fsgid_h);
+        CHECK_MEMBER(mdt_rec_create, cr_suppgid1);
+        CHECK_MEMBER(mdt_rec_create, cr_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_create, cr_suppgid2);
+        CHECK_MEMBER(mdt_rec_create, cr_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_create, cr_fid1);
+        CHECK_MEMBER(mdt_rec_create, cr_fid2);
+        CHECK_MEMBER(mdt_rec_create, cr_old_handle);
+        CHECK_MEMBER(mdt_rec_create, cr_time);
+        CHECK_MEMBER(mdt_rec_create, cr_rdev);
+        CHECK_MEMBER(mdt_rec_create, cr_ioepoch);
+        CHECK_MEMBER(mdt_rec_create, cr_padding_1);
+        CHECK_MEMBER(mdt_rec_create, cr_mode);
+        CHECK_MEMBER(mdt_rec_create, cr_bias);
+        CHECK_MEMBER(mdt_rec_create, cr_flags_l);
+        CHECK_MEMBER(mdt_rec_create, cr_flags_h);
+        CHECK_MEMBER(mdt_rec_create, cr_padding_3);
+        CHECK_MEMBER(mdt_rec_create, cr_padding_4);
 }
 
 static void
-check_mds_rec_unlink(void)
+check_mdt_rec_link(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(mds_rec_unlink);
-        CHECK_MEMBER(mds_rec_unlink, ul_opcode);
-        CHECK_MEMBER(mds_rec_unlink, ul_fsuid);
-        CHECK_MEMBER(mds_rec_unlink, ul_fsgid);
-        CHECK_MEMBER(mds_rec_unlink, ul_cap);
-        CHECK_MEMBER(mds_rec_unlink, ul_suppgid);
-        CHECK_MEMBER(mds_rec_unlink, ul_mode);
-        CHECK_MEMBER(mds_rec_unlink, ul_fid1);
-        CHECK_MEMBER(mds_rec_unlink, ul_fid2);
-        CHECK_MEMBER(mds_rec_unlink, ul_time);
+        CHECK_STRUCT(mdt_rec_link);
+        CHECK_MEMBER(mdt_rec_link, lk_opcode);
+        CHECK_MEMBER(mdt_rec_link, lk_cap);
+        CHECK_MEMBER(mdt_rec_link, lk_fsuid);
+        CHECK_MEMBER(mdt_rec_link, lk_fsuid_h);
+        CHECK_MEMBER(mdt_rec_link, lk_fsgid);
+        CHECK_MEMBER(mdt_rec_link, lk_fsgid_h);
+        CHECK_MEMBER(mdt_rec_link, lk_suppgid1);
+        CHECK_MEMBER(mdt_rec_link, lk_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_link, lk_suppgid2);
+        CHECK_MEMBER(mdt_rec_link, lk_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_link, lk_fid1);
+        CHECK_MEMBER(mdt_rec_link, lk_fid2);
+        CHECK_MEMBER(mdt_rec_link, lk_time);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_1);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_2);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_3);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_4);
+        CHECK_MEMBER(mdt_rec_link, lk_bias);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_5);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_6);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_7);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_8);
+        CHECK_MEMBER(mdt_rec_link, lk_padding_9);
 }
 
 static void
-check_mds_rec_rename(void)
+check_mdt_rec_unlink(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(mds_rec_rename);
-        CHECK_MEMBER(mds_rec_rename, rn_opcode);
-        CHECK_MEMBER(mds_rec_rename, rn_fsuid);
-        CHECK_MEMBER(mds_rec_rename, rn_fsgid);
-        CHECK_MEMBER(mds_rec_rename, rn_cap);
-        CHECK_MEMBER(mds_rec_rename, rn_suppgid1);
-        CHECK_MEMBER(mds_rec_rename, rn_suppgid2);
-        CHECK_MEMBER(mds_rec_rename, rn_fid1);
-        CHECK_MEMBER(mds_rec_rename, rn_fid2);
-        CHECK_MEMBER(mds_rec_rename, rn_time);
+        CHECK_STRUCT(mdt_rec_unlink);
+        CHECK_MEMBER(mdt_rec_unlink, ul_opcode);
+        CHECK_MEMBER(mdt_rec_unlink, ul_cap);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fsuid);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fsuid_h);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fsgid);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fsgid_h);
+        CHECK_MEMBER(mdt_rec_unlink, ul_suppgid1);
+        CHECK_MEMBER(mdt_rec_unlink, ul_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_unlink, ul_suppgid2);
+        CHECK_MEMBER(mdt_rec_unlink, ul_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fid1);
+        CHECK_MEMBER(mdt_rec_unlink, ul_fid2);
+        CHECK_MEMBER(mdt_rec_unlink, ul_time);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_2);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_3);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_4);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_5);
+        CHECK_MEMBER(mdt_rec_unlink, ul_bias);
+        CHECK_MEMBER(mdt_rec_unlink, ul_mode);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_6);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_7);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_8);
+        CHECK_MEMBER(mdt_rec_unlink, ul_padding_9);
 }
 
 static void
-check_mds_rec_join(void)
+check_mdt_rec_rename(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(mds_rec_join);
-        CHECK_MEMBER(mds_rec_join, jr_fid);
-        CHECK_MEMBER(mds_rec_join, jr_headsize);
+        CHECK_STRUCT(mdt_rec_rename);
+        CHECK_MEMBER(mdt_rec_rename, rn_opcode);
+        CHECK_MEMBER(mdt_rec_rename, rn_cap);
+        CHECK_MEMBER(mdt_rec_rename, rn_fsuid);
+        CHECK_MEMBER(mdt_rec_rename, rn_fsuid_h);
+        CHECK_MEMBER(mdt_rec_rename, rn_fsgid);
+        CHECK_MEMBER(mdt_rec_rename, rn_fsgid_h);
+        CHECK_MEMBER(mdt_rec_rename, rn_suppgid1);
+        CHECK_MEMBER(mdt_rec_rename, rn_suppgid1_h);
+        CHECK_MEMBER(mdt_rec_rename, rn_suppgid2);
+        CHECK_MEMBER(mdt_rec_rename, rn_suppgid2_h);
+        CHECK_MEMBER(mdt_rec_rename, rn_fid1);
+        CHECK_MEMBER(mdt_rec_rename, rn_fid2);
+        CHECK_MEMBER(mdt_rec_rename, rn_time);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_1);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_2);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_3);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_4);
+        CHECK_MEMBER(mdt_rec_rename, rn_bias);
+        CHECK_MEMBER(mdt_rec_rename, rn_mode);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_5);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_6);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_7);
+        CHECK_MEMBER(mdt_rec_rename, rn_padding_8);
 }
 
 static void
@@ -683,11 +764,11 @@ static void
 check_ldlm_flock(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT(ldlm_flock);
-        CHECK_MEMBER(ldlm_flockstart);
-        CHECK_MEMBER(ldlm_flockend);
-        CHECK_MEMBER(ldlm_flock, blocking_pid);
-        CHECK_MEMBER(ldlm_flockpid);
+        CHECK_STRUCT(ldlm_flock_wire);
+        CHECK_MEMBER(ldlm_flock_wire, lfw_start);
+        CHECK_MEMBER(ldlm_flock_wire, lfw_end);
+        CHECK_MEMBER(ldlm_flock_wire, lfw_owner);
+        CHECK_MEMBER(ldlm_flock_wire, lfw_pid);
 }
 
 static void
@@ -755,6 +836,19 @@ check_ldlm_lvb(void)
         CHECK_MEMBER(ost_lvb, lvb_blocks);
 }
 
+static void
+check_cfg_marker(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(cfg_marker);
+        CHECK_MEMBER(cfg_marker, cm_step);
+        CHECK_MEMBER(cfg_marker, cm_flags);
+        CHECK_MEMBER(cfg_marker, cm_vers);
+        CHECK_MEMBER(cfg_marker, cm_createtime);
+        CHECK_MEMBER(cfg_marker, cm_canceltime);
+        CHECK_MEMBER(cfg_marker, cm_tgtname);
+        CHECK_MEMBER(cfg_marker, cm_comment);
+}
 
 static void
 check_llog_logid(void)
@@ -762,7 +856,7 @@ check_llog_logid(void)
         BLANK_LINE();
         CHECK_STRUCT(llog_logid);
         CHECK_MEMBER(llog_logid, lgl_oid);
-        CHECK_MEMBER(llog_logid, lgl_ogr);
+        CHECK_MEMBER(llog_logid, lgl_oseq);
         CHECK_MEMBER(llog_logid, lgl_ogen);
 
         CHECK_CVALUE(OST_SZ_REC);
@@ -831,8 +925,9 @@ check_llog_create_rec(void)
         CHECK_MEMBER(llog_create_rec, lcr_hdr);
         CHECK_MEMBER(llog_create_rec, lcr_fid);
         CHECK_MEMBER(llog_create_rec, lcr_oid);
-        CHECK_MEMBER(llog_create_rec, lcr_ogen);
+        CHECK_MEMBER(llog_create_rec, lcr_oseq);
         CHECK_MEMBER(llog_create_rec, padding);
+        CHECK_MEMBER(llog_create_rec, lcr_tail);
 }
 
 static void
@@ -854,8 +949,8 @@ check_llog_unlink_rec(void)
         CHECK_STRUCT(llog_unlink_rec);
         CHECK_MEMBER(llog_unlink_rec, lur_hdr);
         CHECK_MEMBER(llog_unlink_rec, lur_oid);
-        CHECK_MEMBER(llog_unlink_rec, lur_ogen);
-        CHECK_MEMBER(llog_unlink_rec, padding);
+        CHECK_MEMBER(llog_unlink_rec, lur_oseq);
+        CHECK_MEMBER(llog_unlink_rec, lur_count);
         CHECK_MEMBER(llog_unlink_rec, lur_tail);
 }
 
@@ -866,7 +961,7 @@ check_llog_setattr_rec(void)
         CHECK_STRUCT(llog_setattr_rec);
         CHECK_MEMBER(llog_setattr_rec, lsr_hdr);
         CHECK_MEMBER(llog_setattr_rec, lsr_oid);
-        CHECK_MEMBER(llog_setattr_rec, lsr_ogen);
+        CHECK_MEMBER(llog_setattr_rec, lsr_oseq);
         CHECK_MEMBER(llog_setattr_rec, lsr_uid);
         CHECK_MEMBER(llog_setattr_rec, lsr_gid);
         CHECK_MEMBER(llog_setattr_rec, padding);
@@ -874,6 +969,22 @@ check_llog_setattr_rec(void)
 }
 
 static void
+check_llog_setattr64_rec(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(llog_setattr64_rec);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_hdr);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_oid);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_oseq);
+        CHECK_MEMBER(llog_setattr64_rec, padding);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_uid);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_uid_h);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_gid);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_gid_h);
+        CHECK_MEMBER(llog_setattr64_rec, lsr_tail);
+}
+
+static void
 check_llog_size_change_rec(void)
 {
         BLANK_LINE();
@@ -886,6 +997,31 @@ check_llog_size_change_rec(void)
 }
 
 static void
+check_changelog_rec(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(changelog_rec);
+        CHECK_MEMBER(changelog_rec, cr_namelen);
+        CHECK_MEMBER(changelog_rec, cr_flags);
+        CHECK_MEMBER(changelog_rec, cr_type);
+        CHECK_MEMBER(changelog_rec, cr_index);
+        CHECK_MEMBER(changelog_rec, cr_prev);
+        CHECK_MEMBER(changelog_rec, cr_time);
+        CHECK_MEMBER(changelog_rec, cr_tfid);
+        CHECK_MEMBER(changelog_rec, cr_pfid);
+}
+
+static void
+check_llog_changelog_rec(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(llog_changelog_rec);
+        CHECK_MEMBER(llog_changelog_rec, cr_hdr);
+        CHECK_MEMBER(llog_changelog_rec, cr);
+        CHECK_MEMBER(llog_changelog_rec, cr_tail);
+}
+
+static void
 check_llog_gen(void)
 {
         BLANK_LINE();
@@ -968,26 +1104,6 @@ check_llogd_conn_body(void)
 }
 
 static void
-check_mds_extent_desc(void)
-{
-        BLANK_LINE();
-        CHECK_STRUCT(mds_extent_desc);
-        CHECK_MEMBER(mds_extent_desc, med_start);
-        CHECK_MEMBER(mds_extent_desc, med_len);
-        CHECK_MEMBER(mds_extent_desc, med_lmm);
-}
-
-static void
-check_llog_array_rec(void)
-{
-        BLANK_LINE();
-        CHECK_STRUCT(llog_array_rec);
-        CHECK_MEMBER(llog_array_rec, lmr_hdr);
-        CHECK_MEMBER(llog_array_rec, lmr_med);
-        CHECK_MEMBER(llog_array_rec, lmr_tail);
-}
-
-static void
 check_qunit_data(void)
 {
         BLANK_LINE();
@@ -995,17 +1111,8 @@ check_qunit_data(void)
         CHECK_MEMBER(qunit_data, qd_id);
         CHECK_MEMBER(qunit_data, qd_flags);
         CHECK_MEMBER(qunit_data, qd_count);
-}
-
-static void
-check_qunit_data_old(void)
-{
-        BLANK_LINE();
-        CHECK_STRUCT(qunit_data_old);
-        CHECK_MEMBER(qunit_data_old, qd_id);
-        CHECK_MEMBER(qunit_data_old, qd_type);
-        CHECK_MEMBER(qunit_data_old, qd_count);
-        CHECK_MEMBER(qunit_data_old, qd_isblk);
+        CHECK_MEMBER(qunit_data, qd_qunit);
+        CHECK_MEMBER(qunit_data, padding);
 }
 
 static void
@@ -1066,17 +1173,29 @@ check_posix_acl_xattr_header(void)
 }
 
 static void
+check_quota_adjust_qunit(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(quota_adjust_qunit);
+        CHECK_MEMBER(quota_adjust_qunit, qaq_flags);
+        CHECK_MEMBER(quota_adjust_qunit, qaq_id);
+        CHECK_MEMBER(quota_adjust_qunit, qaq_bunit_sz);
+        CHECK_MEMBER(quota_adjust_qunit, qaq_iunit_sz);
+        CHECK_MEMBER(quota_adjust_qunit, padding1);
+}
+
+static void
 check_ll_user_fiemap(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT_TYPEDEF(ll_user_fiemap);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_start);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_length);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_flags);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_mapped_extents);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extent_count);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_reserved);
-        CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extents);
+        CHECK_STRUCT(ll_user_fiemap);
+        CHECK_MEMBER(ll_user_fiemap, fm_start);
+        CHECK_MEMBER(ll_user_fiemap, fm_length);
+        CHECK_MEMBER(ll_user_fiemap, fm_flags);
+        CHECK_MEMBER(ll_user_fiemap, fm_mapped_extents);
+        CHECK_MEMBER(ll_user_fiemap, fm_extent_count);
+        CHECK_MEMBER(ll_user_fiemap, fm_reserved);
+        CHECK_MEMBER(ll_user_fiemap, fm_extents);
 
         CHECK_CDEFINE(FIEMAP_FLAG_SYNC);
         CHECK_CDEFINE(FIEMAP_FLAG_XATTR);
@@ -1087,26 +1206,79 @@ static void
 check_ll_fiemap_extent(void)
 {
         BLANK_LINE();
-        CHECK_STRUCT_TYPEDEF(ll_fiemap_extent);
-        CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_logical);
-        CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_physical);
-        CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_length);
-        CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_flags);
-        CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_device);
+        CHECK_STRUCT(ll_fiemap_extent);
+        CHECK_MEMBER(ll_fiemap_extent, fe_logical);
+        CHECK_MEMBER(ll_fiemap_extent, fe_physical);
+        CHECK_MEMBER(ll_fiemap_extent, fe_length);
+        CHECK_MEMBER(ll_fiemap_extent, fe_flags);
+        CHECK_MEMBER(ll_fiemap_extent, fe_device);
 
         CHECK_CDEFINE(FIEMAP_EXTENT_LAST);
         CHECK_CDEFINE(FIEMAP_EXTENT_UNKNOWN);
         CHECK_CDEFINE(FIEMAP_EXTENT_DELALLOC);
-        CHECK_CDEFINE(FIEMAP_EXTENT_NO_DIRECT);
-        CHECK_CDEFINE(FIEMAP_EXTENT_SECONDARY);
-        CHECK_CDEFINE(FIEMAP_EXTENT_NET);
-        CHECK_CDEFINE(FIEMAP_EXTENT_DATA_COMPRESSED);
+        CHECK_CDEFINE(FIEMAP_EXTENT_ENCODED);
         CHECK_CDEFINE(FIEMAP_EXTENT_DATA_ENCRYPTED);
         CHECK_CDEFINE(FIEMAP_EXTENT_NOT_ALIGNED);
         CHECK_CDEFINE(FIEMAP_EXTENT_DATA_INLINE);
         CHECK_CDEFINE(FIEMAP_EXTENT_DATA_TAIL);
         CHECK_CDEFINE(FIEMAP_EXTENT_UNWRITTEN);
         CHECK_CDEFINE(FIEMAP_EXTENT_MERGED);
+        CHECK_CDEFINE(FIEMAP_EXTENT_NO_DIRECT);
+        CHECK_CDEFINE(FIEMAP_EXTENT_NET);
+}
+
+static void
+check_link_ea_header(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(link_ea_header);
+        CHECK_MEMBER(link_ea_header, leh_magic);
+        CHECK_MEMBER(link_ea_header, leh_reccount);
+        CHECK_MEMBER(link_ea_header, leh_len);
+        CHECK_MEMBER(link_ea_header, padding1);
+        CHECK_MEMBER(link_ea_header, padding2);
+}
+
+static void
+check_link_ea_entry(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(link_ea_entry);
+        CHECK_MEMBER(link_ea_entry, lee_reclen);
+        CHECK_MEMBER(link_ea_entry, lee_parent_fid);
+        CHECK_MEMBER(link_ea_entry, lee_name);
+}
+
+static void
+check_hsm_user_item(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(hsm_user_item);
+        CHECK_MEMBER(hsm_user_item, hui_fid);
+        CHECK_MEMBER(hsm_user_item, hui_extent);
+}
+
+static void
+check_hsm_user_request(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(hsm_user_request);
+        CHECK_MEMBER(hsm_user_request, hur_action);
+        CHECK_MEMBER(hsm_user_request, hur_archive_num);
+        CHECK_MEMBER(hsm_user_request, hur_itemcount);
+        CHECK_MEMBER(hsm_user_request, hur_data_len);
+}
+
+static void
+check_hsm_user_state(void)
+{
+        BLANK_LINE();
+        CHECK_STRUCT(hsm_user_state);
+        CHECK_MEMBER(hsm_user_state, hus_states);
+        CHECK_MEMBER(hsm_user_state, hus_archive_num);
+        CHECK_MEMBER(hsm_user_state, hus_in_progress_state);
+        CHECK_MEMBER(hsm_user_state, hus_in_progress_action);
+        CHECK_MEMBER(hsm_user_state, hus_in_progress_location);
 }
 
 static void
@@ -1213,6 +1385,7 @@ main(int argc, char **argv)
         CHECK_VALUE(OST_SYNC);
         CHECK_VALUE(OST_QUOTACHECK);
         CHECK_VALUE(OST_QUOTACTL);
+        CHECK_VALUE(OST_QUOTA_ADJUST_QUNIT);
         CHECK_VALUE(OST_LAST_OPC);
 
         CHECK_DEFINE(OBD_OBJECT_EOF);
@@ -1233,6 +1406,11 @@ main(int argc, char **argv)
         CHECK_VALUE(MDS_SET_INFO);
         CHECK_VALUE(MDS_QUOTACHECK);
         CHECK_VALUE(MDS_QUOTACTL);
+        CHECK_VALUE(MDS_GETXATTR);
+        CHECK_VALUE(MDS_SETXATTR);
+        CHECK_VALUE(MDS_WRITEPAGE);
+        CHECK_VALUE(MDS_IS_SUBDIR);
+        CHECK_VALUE(MDS_GET_INFO);
         CHECK_VALUE(MDS_LAST_OPC);
 
         CHECK_VALUE(REINT_SETATTR);
@@ -1266,6 +1444,7 @@ main(int argc, char **argv)
         CHECK_VALUE(LDLM_BL_CALLBACK);
         CHECK_VALUE(LDLM_CP_CALLBACK);
         CHECK_VALUE(LDLM_GL_CALLBACK);
+        CHECK_VALUE(LDLM_SET_INFO);
         CHECK_VALUE(LDLM_LAST_OPC);
 
         CHECK_VALUE(LCK_EX);
@@ -1293,11 +1472,15 @@ main(int argc, char **argv)
 
         CHECK_VALUE(MGS_CONNECT);
         CHECK_VALUE(MGS_DISCONNECT);
-        CHECK_VALUE(MGS_EXCEPTION);   
+        CHECK_VALUE(MGS_EXCEPTION);
         CHECK_VALUE(MGS_TARGET_REG);
         CHECK_VALUE(MGS_TARGET_DEL);
         CHECK_VALUE(MGS_SET_INFO);
 
+        CHECK_VALUE(LDF_EMPTY);
+        CHECK_VALUE(LDF_COLLIDE);
+        CHECK_VALUE(LU_PAGE_SIZE);
+
         COMMENT("Sizes and Offsets");
         BLANK_LINE();
         CHECK_STRUCT(obd_uuid);
@@ -1307,7 +1490,7 @@ main(int argc, char **argv)
         check_obd_connect_data();
         check_obdo();
         check_lov_mds_md_v1();
-        check_lov_mds_md_join();
+        check_lov_mds_md_v3();
         check_obd_statfs();
         check_obd_ioobj();
         check_obd_quotactl();
@@ -1316,12 +1499,11 @@ main(int argc, char **argv)
         check_ll_fid();
         check_mds_status_req();
         check_mds_body();
-        check_mds_rec_setattr();
-        check_mds_rec_create();
-        check_mds_rec_link();
-        check_mds_rec_unlink();
-        check_mds_rec_rename();
-        check_mds_rec_join();
+        check_mdt_rec_setattr();
+        check_mdt_rec_create();
+        check_mdt_rec_link();
+        check_mdt_rec_unlink();
+        check_mdt_rec_rename();
         check_lov_desc();
         check_ldlm_res_id();
         check_ldlm_extent();
@@ -1333,6 +1515,7 @@ main(int argc, char **argv)
         check_ldlm_request();
         check_ldlm_reply();
         check_ldlm_lvb();
+        check_cfg_marker();
         check_llog_logid();
         check_llog_catid();
         check_llog_rec_hdr();
@@ -1342,29 +1525,34 @@ main(int argc, char **argv)
         check_llog_orphan_rec();
         check_llog_unlink_rec();
         check_llog_setattr_rec();
+        check_llog_setattr64_rec();
         check_llog_size_change_rec();
+        check_changelog_rec();
+        check_llog_changelog_rec();
         check_llog_gen();
         check_llog_gen_rec();
         check_llog_log_hdr();
         check_llog_cookie();
         check_llogd_body();
         check_llogd_conn_body();
-        check_llog_array_rec();
-        check_mds_extent_desc();
         check_qunit_data();
-        check_qunit_data_old();
+        check_quota_adjust_qunit();
         check_mgs_target_info();
         check_lustre_disk_data();
+        check_ll_user_fiemap();
+        check_ll_fiemap_extent();
         printf("#ifdef LIBLUSTRE_POSIX_ACL\n");
 #ifndef LIBLUSTRE_POSIX_ACL
 #error build generator without LIBLUSTRE_POSIX_ACL defined - produce wrong check code.
 #endif
         check_posix_acl_xattr_entry();
         check_posix_acl_xattr_header();
-        check_ll_user_fiemap();
-        check_ll_fiemap_extent();
         printf("#endif\n");
-
+        check_link_ea_header();
+        check_link_ea_entry();
+        check_hsm_user_item();
+        check_hsm_user_request();
+        check_hsm_user_state();
 
         printf("}\n\n");