X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Futils%2Fwirecheck.c;h=3b749c4c6652a11cd6d6a1a43e1e403962c106bf;hp=e087797da604f511f8f729fa3946cd01a931c622;hb=8f1c8dbe2389e1ef1e1d3387e343fb9a1bb84198;hpb=2ad263c602f315a6a4b1c7b545eb17d045cce6b0 diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index e087797..3b749c4 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); @@ -336,9 +337,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); } @@ -353,7 +352,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,7 +367,7 @@ check_ptlrpc_body(void) CHECK_CVALUE(PTLRPC_NUM_VERSIONS); CHECK_MEMBER(ptlrpc_body, pb_pre_versions); CHECK_MEMBER(ptlrpc_body, pb_padding); - CHECK_CVALUE(JOBSTATS_JOBID_SIZE); + CHECK_CVALUE(LUSTRE_JOBID_SIZE); CHECK_MEMBER(ptlrpc_body, pb_jobid); CHECK_MEMBER_SAME(ptlrpc_body_v3, ptlrpc_body_v2, pb_handle); @@ -375,7 +376,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); @@ -454,6 +457,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); @@ -520,6 +525,13 @@ 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_MULTIMODRPCS); + CHECK_DEFINE_64X(OBD_CONNECT_DIR_STRIPE); CHECK_VALUE_X(OBD_CKSUM_CRC32); CHECK_VALUE_X(OBD_CKSUM_ADLER); @@ -532,8 +544,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 +604,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 +641,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 +651,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 +663,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,13 +679,12 @@ 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); 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); @@ -685,6 +696,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(); @@ -714,9 +750,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 +861,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 +876,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 +904,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 +1216,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 +1240,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 +1436,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 +1526,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); } @@ -1543,20 +1565,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 @@ -1575,7 +1597,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 @@ -1662,6 +1684,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 +1796,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 +2011,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 +2021,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 +2030,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 +2043,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 +2051,129 @@ 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_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 system_string(char *cmdline, char *str, int len) @@ -2166,6 +2314,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); @@ -2176,6 +2325,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); @@ -2222,6 +2372,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); @@ -2229,6 +2380,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); @@ -2263,8 +2419,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); @@ -2304,18 +2460,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(); @@ -2331,6 +2487,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(); @@ -2349,7 +2506,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(); @@ -2376,7 +2532,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(); @@ -2394,13 +2551,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(); @@ -2415,10 +2567,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");