X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fwirecheck.c;h=cf030e9aadcb7f4fb191bb4240dff09d4fcefb97;hb=ab2dd91a18eb31d4fac35683eb4ebad7bdfc2499;hp=01689a5c4cce18ca411173aa351c03b3b4857378;hpb=4af3ab1945fd1ac6cc9870d72734c37a000a0999;p=fs%2Flustre-release.git diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index 01689a5..cf030e9 100644 --- a/lustre/utils/wirecheck.c +++ b/lustre/utils/wirecheck.c @@ -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, 2014, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -37,9 +37,9 @@ #include #include #include -#include -#include +#include #include +#include #include #define BLANK_LINE() \ @@ -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,12 @@ 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_DEFINE_64X(OBD_CONNECT_LFSCK); + CHECK_DEFINE_64X(OBD_CONNECT_UNLINK_CLOSE); + CHECK_DEFINE_64X(OBD_CONNECT_DIR_STRIPE); CHECK_VALUE_X(OBD_CKSUM_CRC32); CHECK_VALUE_X(OBD_CKSUM_ADLER); @@ -532,8 +539,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 +599,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 +636,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 +646,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 +658,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 +674,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); @@ -685,6 +691,29 @@ check_lov_mds_md_v3(void) } static void +check_lmv_mds_md_v1(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lmv_mds_md_v1); + CHECK_MEMBER(lmv_mds_md_v1, lmv_magic); + CHECK_MEMBER(lmv_mds_md_v1, lmv_stripe_count); + CHECK_MEMBER(lmv_mds_md_v1, lmv_master_mdt_index); + CHECK_MEMBER(lmv_mds_md_v1, lmv_hash_type); + CHECK_MEMBER(lmv_mds_md_v1, lmv_layout_version); + CHECK_MEMBER(lmv_mds_md_v1, lmv_padding1); + CHECK_MEMBER(lmv_mds_md_v1, lmv_padding2); + CHECK_MEMBER(lmv_mds_md_v1, lmv_padding3); + CHECK_MEMBER(lmv_mds_md_v1, lmv_pool_name[LOV_MAXPOOLNAME]); + CHECK_MEMBER(lmv_mds_md_v1, lmv_stripe_fids[0]); + + CHECK_CDEFINE(LMV_MAGIC_V1); + CHECK_CDEFINE(LMV_MAGIC_STRIPE); + CHECK_CDEFINE(LMV_HASH_TYPE_MASK); + CHECK_CDEFINE(LMV_HASH_FLAG_MIGRATION); + CHECK_CDEFINE(LMV_HASH_FLAG_DEAD); +} + +static void check_obd_statfs(void) { BLANK_LINE(); @@ -714,9 +743,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); } @@ -826,9 +854,9 @@ check_niobuf_remote(void) { BLANK_LINE(); CHECK_STRUCT(niobuf_remote); - CHECK_MEMBER(niobuf_remote, offset); - CHECK_MEMBER(niobuf_remote, len); - CHECK_MEMBER(niobuf_remote, flags); + CHECK_MEMBER(niobuf_remote, rnb_offset); + CHECK_MEMBER(niobuf_remote, rnb_len); + CHECK_MEMBER(niobuf_remote, rnb_flags); CHECK_DEFINE_X(OBD_BRW_READ); CHECK_DEFINE_X(OBD_BRW_WRITE); @@ -841,6 +869,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 @@ -866,39 +897,39 @@ check_mdt_body(void) { BLANK_LINE(); CHECK_STRUCT(mdt_body); - CHECK_MEMBER(mdt_body, fid1); - CHECK_MEMBER(mdt_body, fid2); - CHECK_MEMBER(mdt_body, handle); - CHECK_MEMBER(mdt_body, valid); - CHECK_MEMBER(mdt_body, size); - CHECK_MEMBER(mdt_body, mtime); - CHECK_MEMBER(mdt_body, atime); - CHECK_MEMBER(mdt_body, ctime); - CHECK_MEMBER(mdt_body, blocks); - CHECK_MEMBER(mdt_body, unused1); - CHECK_MEMBER(mdt_body, fsuid); - CHECK_MEMBER(mdt_body, fsgid); - CHECK_MEMBER(mdt_body, capability); - CHECK_MEMBER(mdt_body, mode); - CHECK_MEMBER(mdt_body, uid); - CHECK_MEMBER(mdt_body, gid); - CHECK_MEMBER(mdt_body, flags); - CHECK_MEMBER(mdt_body, rdev); - CHECK_MEMBER(mdt_body, nlink); - CHECK_MEMBER(mdt_body, unused2); - CHECK_MEMBER(mdt_body, suppgid); - CHECK_MEMBER(mdt_body, eadatasize); - CHECK_MEMBER(mdt_body, aclsize); - CHECK_MEMBER(mdt_body, max_mdsize); - CHECK_MEMBER(mdt_body, max_cookiesize); - CHECK_MEMBER(mdt_body, uid_h); - CHECK_MEMBER(mdt_body, gid_h); - CHECK_MEMBER(mdt_body, padding_5); - CHECK_MEMBER(mdt_body, padding_6); - CHECK_MEMBER(mdt_body, padding_7); - CHECK_MEMBER(mdt_body, padding_8); - CHECK_MEMBER(mdt_body, padding_9); - CHECK_MEMBER(mdt_body, padding_10); + CHECK_MEMBER(mdt_body, mbo_fid1); + CHECK_MEMBER(mdt_body, mbo_fid2); + CHECK_MEMBER(mdt_body, mbo_handle); + CHECK_MEMBER(mdt_body, mbo_valid); + CHECK_MEMBER(mdt_body, mbo_size); + CHECK_MEMBER(mdt_body, mbo_mtime); + CHECK_MEMBER(mdt_body, mbo_atime); + CHECK_MEMBER(mdt_body, mbo_ctime); + CHECK_MEMBER(mdt_body, mbo_blocks); + CHECK_MEMBER(mdt_body, mbo_t_state); + CHECK_MEMBER(mdt_body, mbo_fsuid); + CHECK_MEMBER(mdt_body, mbo_fsgid); + CHECK_MEMBER(mdt_body, mbo_capability); + CHECK_MEMBER(mdt_body, mbo_mode); + CHECK_MEMBER(mdt_body, mbo_uid); + CHECK_MEMBER(mdt_body, mbo_gid); + CHECK_MEMBER(mdt_body, mbo_flags); + CHECK_MEMBER(mdt_body, mbo_rdev); + CHECK_MEMBER(mdt_body, mbo_nlink); + CHECK_MEMBER(mdt_body, mbo_unused2); + CHECK_MEMBER(mdt_body, mbo_suppgid); + CHECK_MEMBER(mdt_body, mbo_eadatasize); + CHECK_MEMBER(mdt_body, mbo_aclsize); + CHECK_MEMBER(mdt_body, mbo_max_mdsize); + CHECK_MEMBER(mdt_body, mbo_max_cookiesize); + CHECK_MEMBER(mdt_body, mbo_uid_h); + CHECK_MEMBER(mdt_body, mbo_gid_h); + CHECK_MEMBER(mdt_body, mbo_padding_5); + CHECK_MEMBER(mdt_body, mbo_padding_6); + CHECK_MEMBER(mdt_body, mbo_padding_7); + CHECK_MEMBER(mdt_body, mbo_padding_8); + CHECK_MEMBER(mdt_body, mbo_padding_9); + CHECK_MEMBER(mdt_body, mbo_padding_10); CHECK_VALUE_O(MDS_FMODE_CLOSED); CHECK_VALUE_O(MDS_FMODE_EXEC); @@ -1178,8 +1209,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 +1233,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 +1429,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,13 +1519,12 @@ 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); CHECK_MEMBER(llog_setattr64_rec, lsr_gid_h); - CHECK_MEMBER(llog_setattr64_rec, lsr_padding); + CHECK_MEMBER(llog_setattr64_rec, lsr_valid); CHECK_MEMBER(llog_setattr64_rec, lsr_tail); } @@ -1662,6 +1677,20 @@ check_llogd_body(void) CHECK_CVALUE(LLOG_ORIGIN_HANDLE_DESTROY); CHECK_CVALUE(LLOG_FIRST_OPC); CHECK_CVALUE(LLOG_LAST_OPC); + + CHECK_CVALUE(LLOG_CONFIG_ORIG_CTXT); + CHECK_CVALUE(LLOG_CONFIG_REPL_CTXT); + CHECK_CVALUE(LLOG_MDS_OST_ORIG_CTXT); + CHECK_CVALUE(LLOG_MDS_OST_REPL_CTXT); + CHECK_CVALUE(LLOG_SIZE_ORIG_CTXT); + CHECK_CVALUE(LLOG_SIZE_REPL_CTXT); + CHECK_CVALUE(LLOG_TEST_ORIG_CTXT); + CHECK_CVALUE(LLOG_TEST_REPL_CTXT); + CHECK_CVALUE(LLOG_CHANGELOG_ORIG_CTXT); + CHECK_CVALUE(LLOG_CHANGELOG_REPL_CTXT); + CHECK_CVALUE(LLOG_CHANGELOG_USER_ORIG_CTXT); + CHECK_CVALUE(LLOG_AGENT_ORIG_CTXT); + CHECK_CVALUE(LLOG_MAX_CTXTS); } static void @@ -1760,23 +1789,43 @@ check_getinfo_fid2path(void) CHECK_MEMBER(getinfo_fid2path, gf_path[0]); } +/* We don't control the definitions of posix_acl_xattr_{entry,header} + * and so we shouldn't have used them in our wire protocol. But it's + * too late now and so we emit checks against the *fixed* definitions + * below. See LU-5607. */ + +typedef struct { + __u16 e_tag; + __u16 e_perm; + __u32 e_id; +} posix_acl_xattr_entry; + +typedef struct { + __u32 a_version; + posix_acl_xattr_entry a_entries[0]; +} posix_acl_xattr_header; + static void check_posix_acl_xattr_entry(void) { BLANK_LINE(); + printf("#ifdef CONFIG_FS_POSIX_ACL\n"); CHECK_STRUCT_TYPEDEF(posix_acl_xattr_entry); CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_tag); CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_perm); CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_id); + printf("#endif /* CONFIG_FS_POSIX_ACL */\n"); } static void check_posix_acl_xattr_header(void) { BLANK_LINE(); + printf("#ifdef CONFIG_FS_POSIX_ACL\n"); CHECK_STRUCT_TYPEDEF(posix_acl_xattr_header); CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_version); CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_entries); + printf("#endif /* CONFIG_FS_POSIX_ACL */\n"); } static void @@ -1955,8 +2004,7 @@ static void check_layout_intent(void) CHECK_VALUE(LAYOUT_INTENT_RESTORE); } -static void -check_hsm_state_set(void) +static void check_hsm_state_set(void) { BLANK_LINE(); CHECK_STRUCT(hsm_state_set); @@ -1966,8 +2014,7 @@ check_hsm_state_set(void) CHECK_MEMBER(hsm_state_set, hss_clearmask); } -static void -check_hsm_current_action(void) +static void check_hsm_current_action(void) { BLANK_LINE(); CHECK_STRUCT(hsm_current_action); @@ -1976,8 +2023,7 @@ check_hsm_current_action(void) CHECK_MEMBER(hsm_current_action, hca_location); } -static void -check_hsm_request(void) +static void check_hsm_request(void) { BLANK_LINE(); CHECK_STRUCT(hsm_request); @@ -1990,8 +2036,7 @@ check_hsm_request(void) CHECK_VALUE_X(HSM_GHOST_COPY); } -static void -check_hsm_user_request(void) +static void check_hsm_user_request(void) { BLANK_LINE(); CHECK_STRUCT(hsm_user_request); @@ -1999,33 +2044,123 @@ check_hsm_user_request(void) CHECK_MEMBER(hsm_user_request, hur_user_item); } -static void check_update_buf(void) +static void check_hsm_user_import(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); + 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_reply(void) +static void check_object_update_param(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); + CHECK_STRUCT(object_update_param); + CHECK_MEMBER(object_update_param, oup_len); + CHECK_MEMBER(object_update_param, oup_padding); + CHECK_MEMBER(object_update_param, oup_padding2); + CHECK_MEMBER(object_update_param, oup_buf); } -static void check_update(void) +static void check_object_update(void) { BLANK_LINE(); - CHECK_STRUCT(update); - CHECK_MEMBER(update, u_type); - CHECK_MEMBER(update, u_padding); - CHECK_MEMBER(update, u_fid); - CHECK_MEMBER(update, u_lens); - CHECK_MEMBER(update, u_bufs); + CHECK_STRUCT(object_update); + CHECK_MEMBER(object_update, ou_type); + CHECK_MEMBER(object_update, ou_params_count); + CHECK_MEMBER(object_update, ou_master_index); + CHECK_MEMBER(object_update, ou_flags); + CHECK_MEMBER(object_update, ou_padding1); + CHECK_MEMBER(object_update, ou_batchid); + CHECK_MEMBER(object_update, ou_fid); + CHECK_MEMBER(object_update, ou_params); +} + +static void check_object_update_request(void) +{ + BLANK_LINE(); + CHECK_STRUCT(object_update_request); + CHECK_MEMBER(object_update_request, ourq_magic); + CHECK_MEMBER(object_update_request, ourq_count); + CHECK_MEMBER(object_update_request, ourq_padding); + CHECK_MEMBER(object_update_request, ourq_updates); +} + +static void check_object_update_result(void) +{ + BLANK_LINE(); + CHECK_STRUCT(object_update_result); + CHECK_MEMBER(object_update_result, our_rc); + CHECK_MEMBER(object_update_result, our_datalen); + CHECK_MEMBER(object_update_result, our_padding); + CHECK_MEMBER(object_update_result, our_data); +} + +static void check_object_update_reply(void) +{ + BLANK_LINE(); + CHECK_STRUCT(object_update_reply); + CHECK_MEMBER(object_update_reply, ourp_magic); + CHECK_MEMBER(object_update_reply, ourp_count); + CHECK_MEMBER(object_update_reply, ourp_padding); + CHECK_MEMBER(object_update_reply, ourp_lens); +} + +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_fid2); + CHECK_MEMBER(lfsck_request, lr_fid3); + CHECK_MEMBER(lfsck_request, lr_padding_2); + CHECK_MEMBER(lfsck_request, lr_padding_3); + + CHECK_VALUE_X(LFSCK_TYPE_SCRUB); + CHECK_VALUE_X(LFSCK_TYPE_LAYOUT); + CHECK_VALUE_X(LFSCK_TYPE_DNE); + CHECK_VALUE_X(LFSCK_TYPE_NAMESPACE); + + CHECK_VALUE(LE_LASTID_REBUILDING); + CHECK_VALUE(LE_LASTID_REBUILT); + CHECK_VALUE(LE_PHASE1_DONE); + CHECK_VALUE(LE_PHASE2_DONE); + CHECK_VALUE(LE_START); + CHECK_VALUE(LE_STOP); + CHECK_VALUE(LE_QUERY); + CHECK_VALUE(LE_FID_ACCESSED); + CHECK_VALUE(LE_PEER_EXIT); + CHECK_VALUE(LE_CONDITIONAL_DESTROY); + CHECK_VALUE(LE_PAIRS_VERIFY); + + CHECK_VALUE_X(LEF_TO_OST); + CHECK_VALUE_X(LEF_FROM_OST); +} + +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) @@ -2177,6 +2312,7 @@ main(int argc, char **argv) CHECK_VALUE(REINT_OPEN); CHECK_VALUE(REINT_SETXATTR); CHECK_VALUE(REINT_RMENTRY); + CHECK_VALUE(REINT_MIGRATE); CHECK_VALUE(REINT_MAX); CHECK_VALUE_X(DISP_IT_EXECD); @@ -2223,6 +2359,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); @@ -2230,6 +2367,11 @@ main(int argc, char **argv) CHECK_VALUE(SEQ_FIRST_OPC); CHECK_VALUE(SEQ_LAST_OPC); + CHECK_VALUE(LFSCK_NOTIFY); + CHECK_VALUE(LFSCK_QUERY); + CHECK_VALUE(LFSCK_FIRST_OPC); + CHECK_VALUE(LFSCK_LAST_OPC); + CHECK_VALUE(SEQ_ALLOC_SUPER); CHECK_VALUE(SEQ_ALLOC_META); @@ -2264,8 +2406,8 @@ main(int argc, char **argv) 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_VALUE(OUT_UPDATE); + CHECK_VALUE(OUT_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); @@ -2305,18 +2447,18 @@ main(int argc, char **argv) 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_VALUE(OUT_CREATE); + CHECK_VALUE(OUT_DESTROY); + CHECK_VALUE(OUT_REF_ADD); + CHECK_VALUE(OUT_REF_DEL); + CHECK_VALUE(OUT_ATTR_SET); + CHECK_VALUE(OUT_ATTR_GET); + CHECK_VALUE(OUT_XATTR_SET); + CHECK_VALUE(OUT_XATTR_GET); + CHECK_VALUE(OUT_INDEX_LOOKUP); + CHECK_VALUE(OUT_INDEX_LOOKUP); + CHECK_VALUE(OUT_INDEX_INSERT); + CHECK_VALUE(OUT_INDEX_DELETE); check_som_attrs(); check_hsm_attrs(); @@ -2332,6 +2474,7 @@ main(int argc, char **argv) check_lov_ost_data_v1(); check_lov_mds_md_v1(); check_lov_mds_md_v3(); + check_lmv_mds_md_v1(); check_obd_statfs(); check_obd_ioobj(); check_obd_quotactl(); @@ -2350,7 +2493,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(); @@ -2395,13 +2537,8 @@ main(int argc, char **argv) check_getinfo_fid2path(); 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(); - printf("#endif\n"); check_link_ea_header(); check_link_ea_entry(); check_layout_intent(); @@ -2416,10 +2553,16 @@ main(int argc, char **argv) check_hsm_current_action(); check_hsm_request(); check_hsm_user_request(); + check_hsm_user_import(); + + check_object_update_param(); + check_object_update(); + check_object_update_request(); + check_object_update_result(); + check_object_update_reply(); - check_update_buf(); - check_update_reply(); - check_update(); + check_lfsck_request(); + check_lfsck_reply(); printf("}\n\n");