X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Futils%2Fwirecheck.c;h=2ffccf127ceb6fa3feb958f887cacc5ef9011e5e;hb=2b16de10d79f930283a1a0dc6e8c9c2a779aae5d;hp=5ad0312053972019c80510afc11db6c80d1facdf;hpb=4e0c8aeb9460e20eb7be9011c24edca35e17340d;p=fs%2Flustre-release.git diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index 5ad0312..2ffccf1 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, 2013, Intel Corporation. + * Copyright (c) 2011, 2015, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -35,11 +35,11 @@ */ #include +#include #include #include -#include -#include #include +#include #include #define BLANK_LINE() \ @@ -209,25 +209,11 @@ check_lustre_mdt_attrs(void) 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 -check_som_attrs(void) -{ - BLANK_LINE(); - CHECK_STRUCT(som_attrs); - CHECK_MEMBER(som_attrs, som_compat); - CHECK_MEMBER(som_attrs, som_incompat); - CHECK_MEMBER(som_attrs, som_ioepoch); - CHECK_MEMBER(som_attrs, som_size); - CHECK_MEMBER(som_attrs, som_blocks); - CHECK_MEMBER(som_attrs, som_mountid); -} - -static void check_hsm_attrs(void) { BLANK_LINE(); @@ -250,8 +236,8 @@ check_ost_id(void) CHECK_VALUE(FID_SEQ_OST_MDT0); CHECK_VALUE(FID_SEQ_LLOG); CHECK_VALUE(FID_SEQ_ECHO); - CHECK_VALUE(FID_SEQ_OST_MDT1); - CHECK_VALUE(FID_SEQ_OST_MAX); + CHECK_VALUE(FID_SEQ_UNUSED_START); + CHECK_VALUE(FID_SEQ_UNUSED_END); CHECK_VALUE(FID_SEQ_RSVD); CHECK_VALUE(FID_SEQ_IGIF); CHECK_VALUE_64X(FID_SEQ_IGIF_MAX); @@ -264,6 +250,9 @@ check_ost_id(void) CHECK_VALUE_64X(FID_SEQ_QUOTA); CHECK_VALUE_64X(FID_SEQ_QUOTA_GLB); CHECK_VALUE_64X(FID_SEQ_ROOT); + CHECK_VALUE_64X(FID_SEQ_LAYOUT_RBTREE); + CHECK_VALUE_64X(FID_SEQ_UPDATE_LOG); + CHECK_VALUE_64X(FID_SEQ_UPDATE_LOG_DIR); CHECK_VALUE_64X(FID_SEQ_NORMAL); CHECK_VALUE_64X(FID_SEQ_LOV_DEFAULT); @@ -337,9 +326,7 @@ check_lustre_msg_v2(void) CHECK_MEMBER(lustre_msg_v2, lm_padding_3); CHECK_MEMBER(lustre_msg_v2, lm_buflens[0]); - CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V1); CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V2); - CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V1_SWABBED); CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V2_SWABBED); } @@ -354,7 +341,9 @@ check_ptlrpc_body(void) CHECK_MEMBER(ptlrpc_body, pb_opc); CHECK_MEMBER(ptlrpc_body, pb_status); CHECK_MEMBER(ptlrpc_body, pb_last_xid); - CHECK_MEMBER(ptlrpc_body, pb_last_seen); + CHECK_MEMBER(ptlrpc_body, pb_tag); + CHECK_MEMBER(ptlrpc_body, pb_padding0); + CHECK_MEMBER(ptlrpc_body, pb_padding1); CHECK_MEMBER(ptlrpc_body, pb_last_committed); CHECK_MEMBER(ptlrpc_body, pb_transno); CHECK_MEMBER(ptlrpc_body, pb_flags); @@ -366,8 +355,11 @@ check_ptlrpc_body(void) CHECK_MEMBER(ptlrpc_body, pb_slv); CHECK_CVALUE(PTLRPC_NUM_VERSIONS); CHECK_MEMBER(ptlrpc_body, pb_pre_versions); - CHECK_MEMBER(ptlrpc_body, pb_padding); - CHECK_CVALUE(JOBSTATS_JOBID_SIZE); + CHECK_MEMBER(ptlrpc_body, pb_mbits); + CHECK_MEMBER(ptlrpc_body, pb_padding64_0); + CHECK_MEMBER(ptlrpc_body, pb_padding64_1); + CHECK_MEMBER(ptlrpc_body, pb_padding64_2); + CHECK_CVALUE(LUSTRE_JOBID_SIZE); CHECK_MEMBER(ptlrpc_body, pb_jobid); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_handle); @@ -376,7 +368,9 @@ check_ptlrpc_body(void) CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_opc); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_status); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_last_xid); - CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_last_seen); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_tag); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding0); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding1); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_last_committed); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_transno); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_flags); @@ -387,7 +381,10 @@ check_ptlrpc_body(void) CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_limit); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_slv); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_pre_versions); - CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_mbits); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding64_0); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding64_1); + CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_padding64_2); CHECK_VALUE(MSG_PTLRPC_BODY_OFF); CHECK_VALUE(REQ_REC_OFF); @@ -455,6 +452,8 @@ check_obd_connect_data(void) CHECK_MEMBER(obd_connect_data, ocd_max_easize); CHECK_MEMBER(obd_connect_data, ocd_instance); CHECK_MEMBER(obd_connect_data, ocd_maxbytes); + CHECK_MEMBER(obd_connect_data, ocd_maxmodrpcs); + CHECK_MEMBER(obd_connect_data, padding0); CHECK_MEMBER(obd_connect_data, padding1); CHECK_MEMBER(obd_connect_data, padding2); CHECK_MEMBER(obd_connect_data, padding3); @@ -524,6 +523,12 @@ check_obd_connect_data(void) 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_MULTIMODRPCS); + CHECK_DEFINE_64X(OBD_CONNECT_DIR_STRIPE); + CHECK_DEFINE_64X(OBD_CONNECT_SUBTREE); + CHECK_DEFINE_64X(OBD_CONNECT_BULK_MBITS); CHECK_VALUE_X(OBD_CKSUM_CRC32); CHECK_VALUE_X(OBD_CKSUM_ADLER); @@ -584,7 +589,6 @@ check_obdo(void) CHECK_DEFINE_64X(OBD_MD_FLHANDLE); CHECK_DEFINE_64X(OBD_MD_FLCKSUM); CHECK_DEFINE_64X(OBD_MD_FLQOS); - CHECK_DEFINE_64X(OBD_MD_FLCOOKIE); CHECK_DEFINE_64X(OBD_MD_FLGROUP); CHECK_DEFINE_64X(OBD_MD_FLFID); CHECK_DEFINE_64X(OBD_MD_FLEPOCH); @@ -676,7 +680,7 @@ check_lov_mds_md_v3(void) CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_count); CHECK_MEMBER(lov_mds_md_v3, lmm_layout_gen); CHECK_CVALUE(LOV_MAXPOOLNAME); - CHECK_MEMBER(lov_mds_md_v3, lmm_pool_name[LOV_MAXPOOLNAME]); + CHECK_MEMBER(lov_mds_md_v3, lmm_pool_name[LOV_MAXPOOLNAME + 1]); CHECK_MEMBER(lov_mds_md_v3, lmm_objects[0]); CHECK_CDEFINE(LOV_MAGIC_V3); @@ -688,6 +692,31 @@ 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); + CHECK_CDEFINE(LMV_HASH_FLAG_BAD_TYPE); + CHECK_CDEFINE(LMV_HASH_FLAG_LOST_LMV); +} + +static void check_obd_statfs(void) { BLANK_LINE(); @@ -828,9 +857,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); @@ -871,45 +900,42 @@ 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, t_state); - 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_unused3); + 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); - CHECK_VALUE_O(MDS_FMODE_EPOCH); - CHECK_VALUE_O(MDS_FMODE_TRUNC); - CHECK_VALUE_O(MDS_FMODE_SOM); CHECK_VALUE_O(MDS_OPEN_CREATED); CHECK_VALUE_O(MDS_OPEN_CROSS); @@ -935,8 +961,13 @@ check_mdt_body(void) CHECK_DEFINE_X(LUSTRE_SYNC_FL); CHECK_DEFINE_X(LUSTRE_IMMUTABLE_FL); CHECK_DEFINE_X(LUSTRE_APPEND_FL); + CHECK_DEFINE_X(LUSTRE_NODUMP_FL); CHECK_DEFINE_X(LUSTRE_NOATIME_FL); + CHECK_DEFINE_X(LUSTRE_INDEX_FL); CHECK_DEFINE_X(LUSTRE_DIRSYNC_FL); + CHECK_DEFINE_X(LUSTRE_TOPDIR_FL); + CHECK_DEFINE_X(LUSTRE_DIRECTIO_FL); + CHECK_DEFINE_X(LUSTRE_INLINE_DATA_FL); CHECK_DEFINE_X(MDS_INODELOCK_LOOKUP); CHECK_DEFINE_X(MDS_INODELOCK_UPDATE); @@ -949,10 +980,10 @@ check_mdt_ioepoch(void) { BLANK_LINE(); CHECK_STRUCT(mdt_ioepoch); - CHECK_MEMBER(mdt_ioepoch, handle); - CHECK_MEMBER(mdt_ioepoch, ioepoch); - CHECK_MEMBER(mdt_ioepoch, flags); - CHECK_MEMBER(mdt_ioepoch, padding); + CHECK_MEMBER(mdt_ioepoch, mio_handle); + CHECK_MEMBER(mdt_ioepoch, mio_unused1); + CHECK_MEMBER(mdt_ioepoch, mio_unused2); + CHECK_MEMBER(mdt_ioepoch, mio_padding); } static void @@ -1271,6 +1302,20 @@ check_ldlm_intent(void) BLANK_LINE(); CHECK_STRUCT(ldlm_intent); CHECK_MEMBER(ldlm_intent, opc); + CHECK_VALUE(IT_OPEN); + CHECK_VALUE(IT_CREAT); + CHECK_VALUE(IT_READDIR); + CHECK_VALUE(IT_GETATTR); + CHECK_VALUE(IT_LOOKUP); + CHECK_VALUE(IT_UNLINK); + CHECK_VALUE(IT_TRUNC); + CHECK_VALUE(IT_GETXATTR); + CHECK_VALUE(IT_EXEC); + CHECK_VALUE(IT_PIN); + CHECK_VALUE(IT_LAYOUT); + CHECK_VALUE(IT_QUOTA_DQACQ); + CHECK_VALUE(IT_QUOTA_CONN); + CHECK_VALUE(IT_SETXATTR); } static void @@ -1279,7 +1324,7 @@ check_ldlm_resource_desc(void) BLANK_LINE(); CHECK_STRUCT(ldlm_resource_desc); CHECK_MEMBER(ldlm_resource_desc, lr_type); - CHECK_MEMBER(ldlm_resource_desc, lr_padding); + CHECK_MEMBER(ldlm_resource_desc, lr_pad); CHECK_MEMBER(ldlm_resource_desc, lr_name); } @@ -1498,7 +1543,7 @@ check_llog_setattr64_rec(void) 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); } @@ -1532,20 +1577,20 @@ check_changelog_rec(void) } static void -check_changelog_rec_ext(void) +check_changelog_ext_rename(void) { BLANK_LINE(); - CHECK_STRUCT(changelog_ext_rec); - CHECK_MEMBER(changelog_ext_rec, cr_namelen); - CHECK_MEMBER(changelog_ext_rec, cr_flags); - CHECK_MEMBER(changelog_ext_rec, cr_type); - CHECK_MEMBER(changelog_ext_rec, cr_index); - CHECK_MEMBER(changelog_ext_rec, cr_prev); - CHECK_MEMBER(changelog_ext_rec, cr_time); - CHECK_MEMBER(changelog_ext_rec, cr_tfid); - CHECK_MEMBER(changelog_ext_rec, cr_pfid); - CHECK_MEMBER(changelog_ext_rec, cr_sfid); - CHECK_MEMBER(changelog_ext_rec, cr_spfid); + CHECK_STRUCT(changelog_ext_rename); + CHECK_MEMBER(changelog_ext_rename, cr_sfid); + CHECK_MEMBER(changelog_ext_rename, cr_spfid); +} + +static void +check_changelog_ext_jobid(void) +{ + BLANK_LINE(); + CHECK_STRUCT(changelog_ext_jobid); + CHECK_MEMBER(changelog_ext_jobid, cr_jobid); } static void @@ -1564,7 +1609,7 @@ check_llog_changelog_rec(void) 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); + CHECK_MEMBER(llog_changelog_rec, cr_do_not_use); } static void @@ -1611,9 +1656,6 @@ check_llog_log_hdr(void) CHECK_MEMBER(llog_log_hdr, llh_flags); CHECK_MEMBER(llog_log_hdr, llh_cat_idx); CHECK_MEMBER(llog_log_hdr, llh_tgtuuid); - CHECK_MEMBER(llog_log_hdr, llh_reserved); - CHECK_MEMBER(llog_log_hdr, llh_bitmap); - CHECK_MEMBER(llog_log_hdr, llh_tail); } static void @@ -1651,6 +1693,22 @@ 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_UPDATELOG_ORIG_CTXT); + CHECK_CVALUE(LLOG_UPDATELOG_REPL_CTXT); + CHECK_CVALUE(LLOG_MAX_CTXTS); } static void @@ -1668,9 +1726,9 @@ check_ll_fiemap_info_key(void) { BLANK_LINE(); CHECK_STRUCT(ll_fiemap_info_key); - CHECK_MEMBER(ll_fiemap_info_key, name[8]); - CHECK_MEMBER(ll_fiemap_info_key, oa); - CHECK_MEMBER(ll_fiemap_info_key, fiemap); + CHECK_MEMBER(ll_fiemap_info_key, lfik_name[8]); + CHECK_MEMBER(ll_fiemap_info_key, lfik_oa); + CHECK_MEMBER(ll_fiemap_info_key, lfik_fiemap); } static void @@ -1749,37 +1807,57 @@ 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 check_ll_user_fiemap(void) { BLANK_LINE(); - 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_STRUCT(fiemap); + CHECK_MEMBER(fiemap, fm_start); + CHECK_MEMBER(fiemap, fm_length); + CHECK_MEMBER(fiemap, fm_flags); + CHECK_MEMBER(fiemap, fm_mapped_extents); + CHECK_MEMBER(fiemap, fm_extent_count); + CHECK_MEMBER(fiemap, fm_reserved); + CHECK_MEMBER(fiemap, fm_extents); CHECK_CDEFINE(FIEMAP_FLAG_SYNC); CHECK_CDEFINE(FIEMAP_FLAG_XATTR); @@ -1790,12 +1868,12 @@ static void check_ll_fiemap_extent(void) { BLANK_LINE(); - 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_STRUCT(fiemap_extent); + CHECK_MEMBER(fiemap_extent, fe_logical); + CHECK_MEMBER(fiemap_extent, fe_physical); + CHECK_MEMBER(fiemap_extent, fe_length); + CHECK_MEMBER(fiemap_extent, fe_flags); + CHECK_MEMBER(fiemap_extent, fe_device); CHECK_CDEFINE(FIEMAP_EXTENT_LAST); CHECK_CDEFINE(FIEMAP_EXTENT_UNKNOWN); @@ -1999,33 +2077,179 @@ static void check_hsm_user_import(void) CHECK_MEMBER(hsm_user_import, hui_archive_id); } -static void check_update_buf(void) +static void check_object_update_param(void) +{ + BLANK_LINE(); + 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_object_update(void) +{ + BLANK_LINE(); + CHECK_STRUCT(object_update); + CHECK_MEMBER(object_update, ou_type); + CHECK_MEMBER(object_update, ou_params_count); + CHECK_MEMBER(object_update, ou_result_size); + 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(update_buf); - CHECK_MEMBER(update_buf, ub_magic); - CHECK_MEMBER(update_buf, ub_count); - CHECK_MEMBER(update_buf, ub_bufs); + 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_update_reply(void) +static void check_out_update_header(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(out_update_header); + CHECK_MEMBER(out_update_header, ouh_magic); + CHECK_MEMBER(out_update_header, ouh_count); + CHECK_MEMBER(out_update_header, ouh_inline_length); + CHECK_MEMBER(out_update_header, ouh_reply_size); + CHECK_MEMBER(out_update_header, ouh_inline_data); } -static void check_update(void) +static void check_out_update_buffer(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); + CHECK_STRUCT(out_update_buffer); + CHECK_MEMBER(out_update_buffer, oub_size); + CHECK_MEMBER(out_update_buffer, oub_padding); +} + +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_flags); + CHECK_MEMBER(lfsck_request, lr_fid); + CHECK_MEMBER(lfsck_request, lr_fid2); + CHECK_MEMBER(lfsck_request, lr_fid3); + CHECK_MEMBER(lfsck_request, lr_padding_1); + CHECK_MEMBER(lfsck_request, lr_padding_2); + + CHECK_VALUE_X(LFSCK_TYPE_SCRUB); + CHECK_VALUE_X(LFSCK_TYPE_LAYOUT); + 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(LE_SKIP_NLINK_DECLARE); + CHECK_VALUE(LE_SKIP_NLINK); + CHECK_VALUE(LE_SET_LMV_MASTER); + CHECK_VALUE(LE_SET_LMV_SLAVE); + + CHECK_VALUE_X(LEF_TO_OST); + CHECK_VALUE_X(LEF_FROM_OST); + CHECK_VALUE_X(LEF_SET_LMV_HASH); + CHECK_VALUE_X(LEF_SET_LMV_ALL); + CHECK_VALUE_X(LEF_RECHECK_NAME_HASH); +} + +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 check_update_params(void) +{ + BLANK_LINE(); + CHECK_STRUCT(update_params); + CHECK_MEMBER(update_params, up_params); +} + +static void check_update_op(void) +{ + BLANK_LINE(); + CHECK_STRUCT(update_op); + 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); +} + +static void check_update_ops(void) +{ + BLANK_LINE(); + CHECK_STRUCT(update_ops); + CHECK_MEMBER(update_ops, uops_op); +} + +static void check_update_records(void) +{ + BLANK_LINE(); + CHECK_STRUCT(update_records); + CHECK_MEMBER(update_records, ur_master_transno); + CHECK_MEMBER(update_records, ur_batchid); + CHECK_MEMBER(update_records, ur_flags); + CHECK_MEMBER(update_records, ur_index); + CHECK_MEMBER(update_records, ur_update_count); + CHECK_MEMBER(update_records, ur_param_count); + + CHECK_VALUE_X(UPDATE_RECORD_CONTINUE); +} + +static void check_llog_update_record(void) +{ + BLANK_LINE(); + CHECK_STRUCT(llog_update_record); + CHECK_MEMBER(llog_update_record, lur_hdr); + CHECK_MEMBER(llog_update_record, lur_update_rec); } static void system_string(char *cmdline, char *str, int len) @@ -2177,6 +2401,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); @@ -2193,18 +2418,6 @@ main(int argc, char **argv) CHECK_VALUE(MDS_STATUS_CONN); CHECK_VALUE(MDS_STATUS_LOV); - CHECK_VALUE(LUSTRE_BFLAG_UNCOMMITTED_WRITES); - - CHECK_VALUE_X(MF_SOM_CHANGE); - CHECK_VALUE_X(MF_EPOCH_OPEN); - CHECK_VALUE_X(MF_EPOCH_CLOSE); - CHECK_VALUE_X(MF_MDC_CANCEL_FID1); - CHECK_VALUE_X(MF_MDC_CANCEL_FID2); - CHECK_VALUE_X(MF_MDC_CANCEL_FID3); - CHECK_VALUE_X(MF_MDC_CANCEL_FID4); - CHECK_VALUE_X(MF_SOM_AU); - CHECK_VALUE_X(MF_GETATTR_LOCK); - CHECK_VALUE_64X(MDS_ATTR_MODE); CHECK_VALUE_64X(MDS_ATTR_UID); CHECK_VALUE_64X(MDS_ATTR_GID); @@ -2231,6 +2444,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); @@ -2265,8 +2483,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); @@ -2306,20 +2524,23 @@ 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_som_attrs(); + 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_VALUE(OUT_WRITE); + CHECK_VALUE(OUT_XATTR_DEL); + CHECK_VALUE(OUT_PUNCH); + CHECK_VALUE(OUT_READ); + check_hsm_attrs(); check_ost_id(); check_lu_dirent(); @@ -2333,6 +2554,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(); @@ -2377,7 +2599,8 @@ main(int argc, char **argv) check_llog_setattr64_rec(); check_llog_size_change_rec(); check_changelog_rec(); - check_changelog_rec_ext(); + check_changelog_ext_rename(); + check_changelog_ext_jobid(); check_changelog_setinfo(); check_llog_changelog_rec(); check_llog_changelog_user_rec(); @@ -2395,13 +2618,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(); @@ -2418,9 +2636,22 @@ main(int argc, char **argv) check_hsm_user_request(); check_hsm_user_import(); - check_update_buf(); - check_update_reply(); - check_update(); + check_object_update_param(); + check_object_update(); + check_object_update_request(); + check_object_update_result(); + check_object_update_reply(); + check_out_update_header(); + check_out_update_buffer(); + + check_lfsck_request(); + check_lfsck_reply(); + + check_update_params(); + check_update_op(); + check_update_ops(); + check_update_records(); + check_llog_update_record(); printf("}\n\n");