Whamcloud - gitweb
LU-10499 pcc: introducing OBD_CONNECT2_PCCRO flag
[fs/lustre-release.git] / lustre / utils / wirecheck.c
index cfebf2c..2572237 100644 (file)
@@ -27,7 +27,6 @@
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
  */
 
 #include <stdio.h>
@@ -39,6 +38,7 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <linux/lustre/lustre_idl.h>
+#include <linux/lustre/lustre_access_log.h>
 #include <linux/lustre/lustre_lfsck_user.h>
 #include <linux/lustre/lustre_disk.h>
 #include <linux/lustre/lustre_cfg.h>
@@ -220,6 +220,7 @@ check_lustre_mdt_attrs(void)
        CHECK_VALUE_X(LMAI_REMOTE_PARENT);
        CHECK_VALUE_X(LMAI_STRIPED);
        CHECK_VALUE_X(LMAI_ORPHAN);
+       CHECK_VALUE_X(LMAI_ENCRYPT);
 }
 
 static void
@@ -622,6 +623,15 @@ check_obd_connect_data(void)
        CHECK_DEFINE_64X(OBD_CONNECT2_CRUSH);
        CHECK_DEFINE_64X(OBD_CONNECT2_ASYNC_DISCARD);
        CHECK_DEFINE_64X(OBD_CONNECT2_ENCRYPT);
+       CHECK_DEFINE_64X(OBD_CONNECT2_FIDMAP);
+       CHECK_DEFINE_64X(OBD_CONNECT2_GETATTR_PFID);
+       CHECK_DEFINE_64X(OBD_CONNECT2_LSEEK);
+       CHECK_DEFINE_64X(OBD_CONNECT2_DOM_LVB);
+       CHECK_DEFINE_64X(OBD_CONNECT2_REP_MBITS);
+       CHECK_DEFINE_64X(OBD_CONNECT2_MODE_CONVERT);
+       CHECK_DEFINE_64X(OBD_CONNECT2_BATCH_RPC);
+       CHECK_DEFINE_64X(OBD_CONNECT2_PCCRO);
+       CHECK_DEFINE_64X(OBD_CONNECT2_ATOMIC_OPEN_LOCK);
 
        CHECK_VALUE_X(OBD_CKSUM_CRC32);
        CHECK_VALUE_X(OBD_CKSUM_ADLER);
@@ -729,6 +739,7 @@ check_obdo(void)
        CHECK_DEFINE_64X(OBD_MD_SECCTX);
        CHECK_DEFINE_64X(OBD_MD_FLLAZYSIZE);
        CHECK_DEFINE_64X(OBD_MD_FLLAZYBLOCKS);
+       CHECK_DEFINE_64X(OBD_MD_ENCCTX);
 
        CHECK_CVALUE_X(OBD_FL_INLINEDATA);
        CHECK_CVALUE_X(OBD_FL_OBDMDEXISTS);
@@ -875,6 +886,9 @@ check_lmv_mds_md_v1(void)
        CHECK_CDEFINE(LMV_MAGIC_V1);
        CHECK_CDEFINE(LMV_MAGIC_STRIPE);
        CHECK_CDEFINE(LMV_HASH_TYPE_MASK);
+       CHECK_CDEFINE(LMV_HASH_FLAG_FIXED);
+       CHECK_CDEFINE(LMV_HASH_FLAG_MERGE);
+       CHECK_CDEFINE(LMV_HASH_FLAG_SPLIT);
        CHECK_CDEFINE(LMV_HASH_FLAG_LOST_LMV);
        CHECK_CDEFINE(LMV_HASH_FLAG_BAD_TYPE);
        CHECK_CDEFINE(LMV_HASH_FLAG_MIGRATION);
@@ -907,13 +921,13 @@ check_obd_statfs(void)
        CHECK_MEMBER(obd_statfs, os_spare8);
        CHECK_MEMBER(obd_statfs, os_spare9);
 
-       CHECK_VALUE_X(OS_STATE_DEGRADED);
-       CHECK_VALUE_X(OS_STATE_READONLY);
-       CHECK_VALUE_X(OS_STATE_NOPRECREATE);
-       CHECK_VALUE_X(OS_STATE_ENOSPC);
-       CHECK_VALUE_X(OS_STATE_ENOINO);
-       CHECK_VALUE_X(OS_STATE_SUM);
-       CHECK_VALUE_X(OS_STATE_NONROT);
+       CHECK_VALUE_X(OS_STATFS_DEGRADED);
+       CHECK_VALUE_X(OS_STATFS_READONLY);
+       CHECK_VALUE_X(OS_STATFS_NOPRECREATE);
+       CHECK_VALUE_X(OS_STATFS_ENOSPC);
+       CHECK_VALUE_X(OS_STATFS_ENOINO);
+       CHECK_VALUE_X(OS_STATFS_SUM);
+       CHECK_VALUE_X(OS_STATFS_NONROT);
 }
 
 static void
@@ -1088,6 +1102,7 @@ check_mds_op_bias(void)
        CHECK_VALUE_X(MDS_CREATE_VOLATILE);
        CHECK_VALUE_X(MDS_OWNEROVERRIDE);
        CHECK_VALUE_X(MDS_HSM_RELEASE);
+       CHECK_VALUE_X(MDS_CLOSE_MIGRATE);
        CHECK_VALUE_X(MDS_CLOSE_LAYOUT_SWAP);
        CHECK_VALUE_X(MDS_CLOSE_LAYOUT_MERGE);
        CHECK_VALUE_X(MDS_CLOSE_RESYNC_DONE);
@@ -1133,7 +1148,7 @@ check_mdt_body(void)
        CHECK_MEMBER(mdt_body, mbo_projid);
        CHECK_MEMBER(mdt_body, mbo_dom_size);
        CHECK_MEMBER(mdt_body, mbo_dom_blocks);
-       CHECK_MEMBER(mdt_body, mbo_padding_8);
+       CHECK_MEMBER(mdt_body, mbo_btime);
        CHECK_MEMBER(mdt_body, mbo_padding_9);
        CHECK_MEMBER(mdt_body, mbo_padding_10);
 
@@ -1174,6 +1189,7 @@ check_mdt_body(void)
        CHECK_VALUE_X(LUSTRE_TOPDIR_FL);
        CHECK_VALUE_X(LUSTRE_INLINE_DATA_FL);
        CHECK_VALUE_X(LUSTRE_SET_SYNC_FL);
+       CHECK_VALUE_X(LUSTRE_ENCRYPT_FL);
 
        CHECK_VALUE_X(MDS_INODELOCK_LOOKUP);
        CHECK_VALUE_X(MDS_INODELOCK_UPDATE);
@@ -1505,6 +1521,7 @@ check_ldlm_inodebits(void)
        CHECK_STRUCT(ldlm_inodebits);
        CHECK_MEMBER(ldlm_inodebits, bits);
        CHECK_MEMBER(ldlm_inodebits, try_bits);
+       CHECK_MEMBER(ldlm_inodebits, li_gid);
 }
 
 static void
@@ -1656,6 +1673,17 @@ static void check_ldlm_barrier_lvb(void)
        CHECK_MEMBER(barrier_lvb, lvb_padding);
 }
 
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 18, 53, 0)
+static void
+check_mgs_send_param(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(mgs_send_param);
+       CHECK_CVALUE(MGS_PARAM_MAXLEN);
+       CHECK_MEMBER(mgs_send_param, mgs_param[MGS_PARAM_MAXLEN]);
+}
+#endif
+
 static void
 check_cfg_marker(void)
 {
@@ -1679,18 +1707,19 @@ check_llog_logid(void)
        CHECK_MEMBER(llog_logid, lgl_oi);
        CHECK_MEMBER(llog_logid, lgl_ogen);
 
-       CHECK_CVALUE(OST_SZ_REC);
-       CHECK_CVALUE(MDS_UNLINK_REC);
-       CHECK_CVALUE(MDS_UNLINK64_REC);
-       CHECK_CVALUE(MDS_SETATTR64_REC);
-       CHECK_CVALUE(OBD_CFG_REC);
-       CHECK_CVALUE(LLOG_GEN_REC);
-       CHECK_CVALUE(CHANGELOG_REC);
-       CHECK_CVALUE(CHANGELOG_USER_REC);
-       CHECK_CVALUE(HSM_AGENT_REC);
-       CHECK_CVALUE(UPDATE_REC);
-       CHECK_CVALUE(LLOG_HDR_MAGIC);
-       CHECK_CVALUE(LLOG_LOGID_MAGIC);
+       CHECK_CVALUE_X(OST_SZ_REC);
+       CHECK_CVALUE_X(MDS_UNLINK_REC);
+       CHECK_CVALUE_X(MDS_UNLINK64_REC);
+       CHECK_CVALUE_X(MDS_SETATTR64_REC);
+       CHECK_CVALUE_X(OBD_CFG_REC);
+       CHECK_CVALUE_X(LLOG_GEN_REC);
+       CHECK_CVALUE_X(CHANGELOG_REC);
+       CHECK_CVALUE_X(CHANGELOG_USER_REC);
+       CHECK_CVALUE_X(CHANGELOG_USER_REC2);
+       CHECK_CVALUE_X(HSM_AGENT_REC);
+       CHECK_CVALUE_X(UPDATE_REC);
+       CHECK_CVALUE_X(LLOG_HDR_MAGIC);
+       CHECK_CVALUE_X(LLOG_LOGID_MAGIC);
 }
 
 static void
@@ -2034,12 +2063,12 @@ check_mgs_config_body(void)
        CHECK_MEMBER(mgs_config_body, mcb_bits);
        CHECK_MEMBER(mgs_config_body, mcb_units);
 
-       CHECK_CVALUE(CONFIG_T_CONFIG);
-       CHECK_CVALUE(CONFIG_T_SPTLRPC);
-       CHECK_CVALUE(CONFIG_T_RECOVER);
-       CHECK_CVALUE(CONFIG_T_PARAMS);
-       CHECK_CVALUE(CONFIG_T_NODEMAP);
-       CHECK_CVALUE(CONFIG_T_BARRIER);
+       CHECK_CVALUE(MGS_CFG_T_CONFIG);
+       CHECK_CVALUE(MGS_CFG_T_SPTLRPC);
+       CHECK_CVALUE(MGS_CFG_T_RECOVER);
+       CHECK_CVALUE(MGS_CFG_T_PARAMS);
+       CHECK_CVALUE(MGS_CFG_T_NODEMAP);
+       CHECK_CVALUE(MGS_CFG_T_BARRIER);
 }
 
 static void
@@ -2144,7 +2173,6 @@ check_ll_fiemap_extent(void)
        CHECK_CDEFINE(FIEMAP_EXTENT_UNWRITTEN);
        CHECK_CDEFINE(FIEMAP_EXTENT_MERGED);
        CHECK_CDEFINE(FIEMAP_EXTENT_SHARED);
-       CHECK_CDEFINE(FIEMAP_EXTENT_NO_DIRECT);
        CHECK_CDEFINE(FIEMAP_EXTENT_NET);
 }
 
@@ -2489,6 +2517,37 @@ static void check_nodemap_rec(void)
        CHECK_UNION(nodemap_rec);
 }
 
+static void check_ofd_access_entry_v1(void)
+{
+       BLANK_LINE();
+       CHECK_VALUE_X(OFD_ACCESS_READ);
+       CHECK_VALUE_X(OFD_ACCESS_WRITE);
+       CHECK_STRUCT(ofd_access_entry_v1);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_parent_fid);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_begin);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_end);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_time);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_size);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_segment_count);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_flags);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_reserved1);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_reserved2);
+       CHECK_MEMBER(ofd_access_entry_v1, oae_reserved3);
+}
+
+static void check_lustre_access_log_info_v1(void)
+{
+       BLANK_LINE();
+       CHECK_VALUE_X(LUSTRE_ACCESS_LOG_VERSION_1);
+       CHECK_VALUE_X(LUSTRE_ACCESS_LOG_TYPE_OFD);
+       CHECK_STRUCT(lustre_access_log_info_v1);
+       CHECK_MEMBER(lustre_access_log_info_v1, lali_version);
+       CHECK_MEMBER(lustre_access_log_info_v1, lali_type);
+       CHECK_MEMBER(lustre_access_log_info_v1, lali_name);
+       CHECK_MEMBER(lustre_access_log_info_v1, lali_log_size);
+       CHECK_MEMBER(lustre_access_log_info_v1, lali_entry_size);
+}
+
 static void check_lfsck_request(void)
 {
        BLANK_LINE();
@@ -2559,7 +2618,7 @@ static void check_update_op(void)
        CHECK_MEMBER(update_op, uop_fid);
        CHECK_MEMBER(update_op, uop_type);
        CHECK_MEMBER(update_op, uop_param_count);
-       CHECK_MEMBER(update_op, uop_params_off);
+       CHECK_MEMBER_OFFSET(update_op, uop_params_off);
 }
 
 static void check_update_ops(void)
@@ -2706,6 +2765,7 @@ main(int argc, char **argv)
        CHECK_VALUE(OST_QUOTA_ADJUST_QUNIT);
        CHECK_VALUE(OST_LADVISE);
        CHECK_VALUE(OST_FALLOCATE);
+       CHECK_VALUE(OST_SEEK);
        CHECK_VALUE(OST_LAST_OPC);
 
        CHECK_DEFINE_64X(OBD_OBJECT_EOF);
@@ -2958,6 +3018,9 @@ main(int argc, char **argv)
        check_ldlm_gl_lquota_desc();
        check_ldlm_gl_barrier_desc();
        check_ldlm_barrier_lvb();
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 18, 53, 0)
+       check_mgs_send_param();
+#endif
        check_cfg_marker();
        check_llog_logid();
        check_llog_catid();
@@ -3020,6 +3083,9 @@ main(int argc, char **argv)
        check_nodemap_global_rec();
        check_nodemap_rec();
 
+       check_ofd_access_entry_v1();
+       check_lustre_access_log_info_v1();
+
        check_lfsck_request();
        check_lfsck_reply();