Whamcloud - gitweb
LU-1267 lfsck: framework (3) for MDT-OST consistency
[fs/lustre-release.git] / lustre / utils / wirecheck.c
index 03aa467..0536384 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2012, Intel Corporation.
+ * Copyright (c) 2011, 2013, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -206,11 +206,12 @@ check_lustre_mdt_attrs(void)
        CHECK_MEMBER(lustre_mdt_attrs, lma_compat);
        CHECK_MEMBER(lustre_mdt_attrs, lma_incompat);
        CHECK_MEMBER(lustre_mdt_attrs, lma_self_fid);
-       CHECK_MEMBER(lustre_mdt_attrs, lma_flags);
        CHECK_VALUE_X(LMAI_RELEASED);
 
        CHECK_VALUE_X(LMAC_HSM);
        CHECK_VALUE_X(LMAC_SOM);
+       CHECK_VALUE_X(LMAC_NOT_IN_OI);
+       CHECK_VALUE_X(LMAC_FID_ON_OST);
 }
 
 static void
@@ -242,8 +243,7 @@ check_ost_id(void)
 {
        BLANK_LINE();
        CHECK_STRUCT(ost_id);
-       CHECK_MEMBER(ost_id, oi_id);
-       CHECK_MEMBER(ost_id, oi_seq);
+       CHECK_MEMBER(ost_id, oi);
 
        CHECK_VALUE(LUSTRE_FID_INIT_OID);
 
@@ -263,6 +263,7 @@ check_ost_id(void)
        CHECK_VALUE_64X(FID_SEQ_SPECIAL);
        CHECK_VALUE_64X(FID_SEQ_QUOTA);
        CHECK_VALUE_64X(FID_SEQ_QUOTA_GLB);
+       CHECK_VALUE_64X(FID_SEQ_ROOT);
        CHECK_VALUE_64X(FID_SEQ_NORMAL);
        CHECK_VALUE_64X(FID_SEQ_LOV_DEFAULT);
 
@@ -520,6 +521,9 @@ check_obd_connect_data(void)
        CHECK_DEFINE_64X(OBD_CONNECT_NANOSEC_TIME);
        CHECK_DEFINE_64X(OBD_CONNECT_LIGHTWEIGHT);
        CHECK_DEFINE_64X(OBD_CONNECT_SHORTIO);
+       CHECK_DEFINE_64X(OBD_CONNECT_PINGLESS);
+       CHECK_DEFINE_64X(OBD_CONNECT_FLOCK_DEAD);
+       CHECK_DEFINE_64X(OBD_CONNECT_OPEN_BY_FID);
 
        CHECK_VALUE_X(OBD_CKSUM_CRC32);
        CHECK_VALUE_X(OBD_CKSUM_ADLER);
@@ -532,8 +536,7 @@ check_obdo(void)
        BLANK_LINE();
        CHECK_STRUCT(obdo);
        CHECK_MEMBER(obdo, o_valid);
-       CHECK_MEMBER(obdo, o_id);
-       CHECK_MEMBER(obdo, o_seq);
+       CHECK_MEMBER(obdo, o_oi);
        CHECK_MEMBER(obdo, o_parent_seq);
        CHECK_MEMBER(obdo, o_size);
        CHECK_MEMBER(obdo, o_mtime);
@@ -593,6 +596,7 @@ check_obdo(void)
        CHECK_DEFINE_64X(OBD_MD_MDS);
        CHECK_DEFINE_64X(OBD_MD_REINT);
        CHECK_DEFINE_64X(OBD_MD_MEA);
+       CHECK_DEFINE_64X(OBD_MD_TSTATE);
        CHECK_DEFINE_64X(OBD_MD_FLXATTR);
        CHECK_DEFINE_64X(OBD_MD_FLXATTRLS);
        CHECK_DEFINE_64X(OBD_MD_FLXATTRRM);
@@ -629,6 +633,8 @@ check_obdo(void)
        CHECK_CVALUE_X(OBD_FL_MMAP);
        CHECK_CVALUE_X(OBD_FL_RECOV_RESEND);
        CHECK_CVALUE_X(OBD_FL_NOSPC_BLK);
+       CHECK_CVALUE_X(OBD_FL_FLUSH);
+       CHECK_CVALUE_X(OBD_FL_SHORT_IO);
        CHECK_CVALUE_X(OBD_FL_LOCAL_MASK);
 }
 
@@ -637,8 +643,7 @@ check_lov_ost_data_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_seq);
+       CHECK_MEMBER(lov_ost_data_v1, l_ost_oi);
        CHECK_MEMBER(lov_ost_data_v1, l_ost_gen);
        CHECK_MEMBER(lov_ost_data_v1, l_ost_idx);
 }
@@ -650,8 +655,7 @@ check_lov_mds_md_v1(void)
        CHECK_STRUCT(lov_mds_md_v1);
        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_seq);
+       CHECK_MEMBER(lov_mds_md_v1, lmm_oi);
        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_layout_gen);
@@ -667,8 +671,7 @@ check_lov_mds_md_v3(void)
        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_oi);
        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_layout_gen);
@@ -714,9 +717,8 @@ check_obd_ioobj(void)
 {
        BLANK_LINE();
        CHECK_STRUCT(obd_ioobj);
-       CHECK_MEMBER(obd_ioobj, ioo_id);
-       CHECK_MEMBER(obd_ioobj, ioo_seq);
-       CHECK_MEMBER(obd_ioobj, ioo_type);
+       CHECK_MEMBER(obd_ioobj, ioo_oid);
+       CHECK_MEMBER(obd_ioobj, ioo_max_brw);
        CHECK_MEMBER(obd_ioobj, ioo_bufcnt);
 }
 
@@ -841,6 +843,9 @@ check_niobuf_remote(void)
        CHECK_DEFINE_X(OBD_BRW_SRVLOCK);
        CHECK_DEFINE_X(OBD_BRW_ASYNC);
        CHECK_DEFINE_X(OBD_BRW_MEMALLOC);
+       CHECK_DEFINE_X(OBD_BRW_OVER_USRQUOTA);
+       CHECK_DEFINE_X(OBD_BRW_OVER_GRPQUOTA);
+       CHECK_DEFINE_X(OBD_BRW_SOFT_SYNC);
 }
 
 static void
@@ -875,7 +880,7 @@ check_mdt_body(void)
        CHECK_MEMBER(mdt_body, atime);
        CHECK_MEMBER(mdt_body, ctime);
        CHECK_MEMBER(mdt_body, blocks);
-       CHECK_MEMBER(mdt_body, ino);
+       CHECK_MEMBER(mdt_body, t_state);
        CHECK_MEMBER(mdt_body, fsuid);
        CHECK_MEMBER(mdt_body, fsgid);
        CHECK_MEMBER(mdt_body, capability);
@@ -885,7 +890,7 @@ check_mdt_body(void)
        CHECK_MEMBER(mdt_body, flags);
        CHECK_MEMBER(mdt_body, rdev);
        CHECK_MEMBER(mdt_body, nlink);
-       CHECK_MEMBER(mdt_body, generation);
+       CHECK_MEMBER(mdt_body, unused2);
        CHECK_MEMBER(mdt_body, suppgid);
        CHECK_MEMBER(mdt_body, eadatasize);
        CHECK_MEMBER(mdt_body, aclsize);
@@ -1178,8 +1183,8 @@ check_mdt_rec_reint(void)
        CHECK_MEMBER(mdt_rec_reint, rr_bias);
        CHECK_MEMBER(mdt_rec_reint, rr_mode);
        CHECK_MEMBER(mdt_rec_reint, rr_flags);
-       CHECK_MEMBER(mdt_rec_reint, rr_padding_2);
-       CHECK_MEMBER(mdt_rec_reint, rr_padding_3);
+       CHECK_MEMBER(mdt_rec_reint, rr_flags_h);
+       CHECK_MEMBER(mdt_rec_reint, rr_umask);
        CHECK_MEMBER(mdt_rec_reint, rr_padding_4);
 }
 
@@ -1202,20 +1207,6 @@ check_lmv_desc(void)
 }
 
 static void
-check_lmv_stripe_md(void)
-{
-       BLANK_LINE();
-       CHECK_STRUCT(lmv_stripe_md);
-       CHECK_MEMBER(lmv_stripe_md, mea_magic);
-       CHECK_MEMBER(lmv_stripe_md, mea_count);
-       CHECK_MEMBER(lmv_stripe_md, mea_master);
-       CHECK_MEMBER(lmv_stripe_md, mea_padding);
-       CHECK_CVALUE(LOV_MAXPOOLNAME);
-       CHECK_MEMBER(lmv_stripe_md, mea_pool_name[LOV_MAXPOOLNAME]);
-       CHECK_MEMBER(lmv_stripe_md, mea_ids[0]);
-}
-
-static void
 check_lov_desc(void)
 {
        BLANK_LINE();
@@ -1412,8 +1403,7 @@ check_llog_logid(void)
 {
        BLANK_LINE();
        CHECK_STRUCT(llog_logid);
-       CHECK_MEMBER(llog_logid, lgl_oid);
-       CHECK_MEMBER(llog_logid, lgl_oseq);
+       CHECK_MEMBER(llog_logid, lgl_oi);
        CHECK_MEMBER(llog_logid, lgl_ogen);
 
        CHECK_CVALUE(OST_SZ_REC);
@@ -1503,8 +1493,7 @@ 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, lsr_oi);
        CHECK_MEMBER(llog_setattr64_rec, lsr_uid);
        CHECK_MEMBER(llog_setattr64_rec, lsr_uid_h);
        CHECK_MEMBER(llog_setattr64_rec, lsr_gid);
@@ -1861,7 +1850,7 @@ 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_archive_id);
        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);
@@ -1891,7 +1880,7 @@ check_hsm_action_list(void)
        CHECK_MEMBER(hsm_action_list, hal_count);
        CHECK_MEMBER(hsm_action_list, hal_compound_id);
        CHECK_MEMBER(hsm_action_list, hal_flags);
-       CHECK_MEMBER(hsm_action_list, hal_archive_num);
+       CHECK_MEMBER(hsm_action_list, hal_archive_id);
        CHECK_MEMBER(hsm_action_list, padding1);
        CHECK_MEMBER(hsm_action_list, hal_fsname);
 }
@@ -1955,8 +1944,119 @@ static void check_layout_intent(void)
        CHECK_VALUE(LAYOUT_INTENT_RESTORE);
 }
 
-static void
-system_string (char *cmdline, char *str, int len)
+static void check_hsm_state_set(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(hsm_state_set);
+       CHECK_MEMBER(hsm_state_set, hss_valid);
+       CHECK_MEMBER(hsm_state_set, hss_archive_id);
+       CHECK_MEMBER(hsm_state_set, hss_setmask);
+       CHECK_MEMBER(hsm_state_set, hss_clearmask);
+}
+
+static void check_hsm_current_action(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(hsm_current_action);
+       CHECK_MEMBER(hsm_current_action, hca_state);
+       CHECK_MEMBER(hsm_current_action, hca_action);
+       CHECK_MEMBER(hsm_current_action, hca_location);
+}
+
+static void check_hsm_request(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(hsm_request);
+       CHECK_MEMBER(hsm_request, hr_action);
+       CHECK_MEMBER(hsm_request, hr_archive_id);
+       CHECK_MEMBER(hsm_request, hr_flags);
+       CHECK_MEMBER(hsm_request, hr_itemcount);
+       CHECK_MEMBER(hsm_request, hr_data_len);
+       CHECK_VALUE_X(HSM_FORCE_ACTION);
+       CHECK_VALUE_X(HSM_GHOST_COPY);
+}
+
+static void check_hsm_user_request(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(hsm_user_request);
+       CHECK_MEMBER(hsm_user_request, hur_request);
+       CHECK_MEMBER(hsm_user_request, hur_user_item);
+}
+
+static void check_hsm_user_import(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(hsm_user_import);
+       CHECK_MEMBER(hsm_user_import, hui_size);
+       CHECK_MEMBER(hsm_user_import, hui_uid);
+       CHECK_MEMBER(hsm_user_import, hui_gid);
+       CHECK_MEMBER(hsm_user_import, hui_mode);
+       CHECK_MEMBER(hsm_user_import, hui_atime);
+       CHECK_MEMBER(hsm_user_import, hui_atime_ns);
+       CHECK_MEMBER(hsm_user_import, hui_mtime);
+       CHECK_MEMBER(hsm_user_import, hui_mtime_ns);
+       CHECK_MEMBER(hsm_user_import, hui_archive_id);
+}
+
+static void check_update_buf(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(update_buf);
+       CHECK_MEMBER(update_buf, ub_magic);
+       CHECK_MEMBER(update_buf, ub_count);
+       CHECK_MEMBER(update_buf, ub_bufs);
+}
+
+static void check_update_reply(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(update_reply);
+       CHECK_MEMBER(update_reply, ur_version);
+       CHECK_MEMBER(update_reply, ur_count);
+       CHECK_MEMBER(update_reply, ur_lens);
+}
+
+static void check_update(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(update);
+       CHECK_MEMBER(update, u_type);
+       CHECK_MEMBER(update, u_batchid);
+       CHECK_MEMBER(update, u_fid);
+       CHECK_MEMBER(update, u_lens);
+       CHECK_MEMBER(update, u_bufs);
+}
+
+static void check_lfsck_request(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(lfsck_request);
+       CHECK_MEMBER(lfsck_request, lr_event);
+       CHECK_MEMBER(lfsck_request, lr_index);
+       CHECK_MEMBER(lfsck_request, lr_flags);
+       CHECK_MEMBER(lfsck_request, lr_valid);
+       CHECK_MEMBER(lfsck_request, lr_speed);
+       CHECK_MEMBER(lfsck_request, lr_version);
+       CHECK_MEMBER(lfsck_request, lr_active);
+       CHECK_MEMBER(lfsck_request, lr_param);
+       CHECK_MEMBER(lfsck_request, lr_async_windows);
+       CHECK_MEMBER(lfsck_request, lr_padding_1);
+       CHECK_MEMBER(lfsck_request, lr_fid);
+       CHECK_MEMBER(lfsck_request, lr_padding_2);
+       CHECK_MEMBER(lfsck_request, lr_padding_3);
+}
+
+static void check_lfsck_reply(void)
+{
+       BLANK_LINE();
+       CHECK_STRUCT(lfsck_reply);
+       CHECK_MEMBER(lfsck_reply, lr_status);
+       CHECK_MEMBER(lfsck_reply, lr_padding_1);
+       CHECK_MEMBER(lfsck_reply, lr_padding_2);
+}
+
+static void system_string(char *cmdline, char *str, int len)
 {
        int   fds[2];
        int   rc;
@@ -2094,6 +2194,7 @@ main(int argc, char **argv)
        CHECK_VALUE(MDS_HSM_REQUEST);
        CHECK_VALUE(MDS_HSM_CT_REGISTER);
        CHECK_VALUE(MDS_HSM_CT_UNREGISTER);
+       CHECK_VALUE(MDS_SWAP_LAYOUTS);
        CHECK_VALUE(MDS_LAST_OPC);
 
        CHECK_VALUE(REINT_SETATTR);
@@ -2103,6 +2204,7 @@ main(int argc, char **argv)
        CHECK_VALUE(REINT_RENAME);
        CHECK_VALUE(REINT_OPEN);
        CHECK_VALUE(REINT_SETXATTR);
+       CHECK_VALUE(REINT_RMENTRY);
        CHECK_VALUE(REINT_MAX);
 
        CHECK_VALUE_X(DISP_IT_EXECD);
@@ -2149,6 +2251,7 @@ main(int argc, char **argv)
        CHECK_VALUE_64X(MDS_ATTR_BLOCKS);
 
        CHECK_VALUE(FLD_QUERY);
+       CHECK_VALUE(FLD_READ);
        CHECK_VALUE(FLD_FIRST_OPC);
        CHECK_VALUE(FLD_LAST_OPC);
 
@@ -2189,6 +2292,9 @@ main(int argc, char **argv)
        CHECK_CVALUE(LUSTRE_RES_ID_SEQ_OFF);
        CHECK_CVALUE(LUSTRE_RES_ID_VER_OID_OFF);
        /* CHECK_CVALUE(LUSTRE_RES_ID_WAS_VER_OFF); packed with OID */
+
+       CHECK_VALUE(UPDATE_OBJ);
+       CHECK_VALUE(UPDATE_LAST_OPC);
        CHECK_CVALUE(LUSTRE_RES_ID_QUOTA_SEQ_OFF);
        CHECK_CVALUE(LUSTRE_RES_ID_QUOTA_VER_OID_OFF);
        CHECK_CVALUE(LUSTRE_RES_ID_HSH_OFF);
@@ -2227,6 +2333,20 @@ main(int argc, char **argv)
        CHECK_STRUCT(obd_uuid);
        check_lu_seq_range();
        check_lustre_mdt_attrs();
+
+       CHECK_VALUE(OBJ_CREATE);
+       CHECK_VALUE(OBJ_DESTROY);
+       CHECK_VALUE(OBJ_REF_ADD);
+       CHECK_VALUE(OBJ_REF_DEL);
+       CHECK_VALUE(OBJ_ATTR_SET);
+       CHECK_VALUE(OBJ_ATTR_GET);
+       CHECK_VALUE(OBJ_XATTR_SET);
+       CHECK_VALUE(OBJ_XATTR_GET);
+       CHECK_VALUE(OBJ_INDEX_LOOKUP);
+       CHECK_VALUE(OBJ_INDEX_LOOKUP);
+       CHECK_VALUE(OBJ_INDEX_INSERT);
+       CHECK_VALUE(OBJ_INDEX_DELETE);
+
        check_som_attrs();
        check_hsm_attrs();
        check_ost_id();
@@ -2259,7 +2379,6 @@ main(int argc, char **argv)
        check_mdt_rec_setxattr();
        check_mdt_rec_reint();
        check_lmv_desc();
-       check_lmv_stripe_md();
        check_lov_desc();
        check_ldlm_res_id();
        check_ldlm_extent();
@@ -2321,6 +2440,18 @@ main(int argc, char **argv)
        check_hsm_progress_kernel();
        check_hsm_user_item();
        check_hsm_user_state();
+       check_hsm_state_set();
+       check_hsm_current_action();
+       check_hsm_request();
+       check_hsm_user_request();
+       check_hsm_user_import();
+
+       check_update_buf();
+       check_update_reply();
+       check_update();
+
+       check_lfsck_request();
+       check_lfsck_reply();
 
        printf("}\n\n");