X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Futils%2Fwirecheck.c;h=d88843914980c2c23800bbc2f5f37e0e407d3b25;hp=a2f72c48885c3fd3447011bf7dba77d914b73039;hb=4f91d5161d005eed6ff7a9fe6abea99690f4bcb7;hpb=7a92b5181e1983a39630dce31c09407079fdbdbc diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index a2f72c48..d888439 100644 --- a/lustre/utils/wirecheck.c +++ b/lustre/utils/wirecheck.c @@ -26,8 +26,10 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2011, 2012, Whamcloud, Inc. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -54,31 +56,68 @@ do { \ #define STRINGIFY(a) #a - #define CHECK_CDEFINE(a) \ printf(" CLASSERT("#a" == "STRINGIFY(a) ");\n") #define CHECK_CVALUE(a) \ printf(" CLASSERT("#a" == %lld);\n", (long long)a) +#define CHECK_CVALUE_X(a) \ + printf(" CLASSERT("#a" == 0x%.8x);\n", a) + #define CHECK_DEFINE(a) \ do { \ printf(" LASSERTF("#a" == "STRINGIFY(a) \ - ",\" found %%lld\\n\",\n " \ - "(long long)"#a");\n"); \ + ", \"found %%lld\\n\",\n " \ + "(long long)"#a");\n"); \ +} while(0) + +#define CHECK_DEFINE_X(a) \ +do { \ + printf(" LASSERTF("#a" == "STRINGIFY(a) \ + ", \"found 0x%%.8x\\n\",\n "#a \ + ");\n"); \ +} while(0) + +#define CHECK_DEFINE_64X(a) \ +do { \ + printf(" LASSERTF("#a" == "STRINGIFY(a) \ + ", \"found 0x%%.16llxULL\\n\",\n "\ + " "#a");\n"); \ } while(0) #define CHECK_VALUE(a) \ do { \ printf(" LASSERTF("#a \ - " == %lld, \" found %%lld\\n\",\n "\ - "(long long)"#a");\n", (long long)a); \ + " == %lld, \"found %%lld\\n\",\n "\ + " (long long)"#a");\n", (long long)a); \ +} while(0) + +#define CHECK_VALUE_X(a) \ +do { \ + printf(" LASSERTF("#a \ + " == 0x%.8xUL, \"found 0x%%.8xUL\\n\",\n "\ + " (unsigned)"#a");\n", (unsigned)a); \ } while(0) -#define CHECK_VALUE_64(a) \ +#define CHECK_VALUE_O(a) \ do { \ printf(" LASSERTF("#a \ - " == %lldULL, \" found %%lld\\n\",\n "\ + " == 0%.11oUL, \"found 0%%.11oUL\\n\",\n "\ + " "#a");\n", a); \ +} while(0) + +#define CHECK_VALUE_64X(a) \ +do { \ + printf(" LASSERTF("#a" == 0x%.16llxULL, " \ + "\"found 0x%%.16llxULL\\n\",\n " \ + "(long long)"#a");\n", (long long)a); \ +} while(0) + +#define CHECK_VALUE_64O(a) \ +do { \ + printf(" LASSERTF("#a" == 0%.22lloULL, " \ + "\"found 0%%.22lloULL\\n\",\n " \ "(long long)"#a");\n", (long long)a); \ } while(0) @@ -127,6 +166,108 @@ do { \ } while(0) static void +check_lu_seq_range(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lu_seq_range); + CHECK_MEMBER(lu_seq_range, lsr_start); + CHECK_MEMBER(lu_seq_range, lsr_end); + CHECK_MEMBER(lu_seq_range, lsr_index); + CHECK_MEMBER(lu_seq_range, lsr_flags); + + CHECK_VALUE(LU_SEQ_RANGE_MDT); + CHECK_VALUE(LU_SEQ_RANGE_OST); +} + +static void +check_lustre_mdt_attrs(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lustre_mdt_attrs); + 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_MEMBER(lustre_mdt_attrs, lma_ioepoch); + CHECK_MEMBER(lustre_mdt_attrs, lma_som_size); + CHECK_MEMBER(lustre_mdt_attrs, lma_som_blocks); + CHECK_MEMBER(lustre_mdt_attrs, lma_som_mountid); + + CHECK_DEFINE(LMA_INCOMPAT_SUPP); + + CHECK_VALUE_X(LMAC_HSM); + CHECK_VALUE_X(LMAC_SOM); +} + +static void +check_ost_id(void) +{ + BLANK_LINE(); + CHECK_STRUCT(ost_id); + CHECK_MEMBER(ost_id, oi_id); + CHECK_MEMBER(ost_id, oi_seq); + + CHECK_VALUE(LUSTRE_FID_INIT_OID); + + 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_RSVD); + CHECK_VALUE(FID_SEQ_IGIF); + CHECK_VALUE_64X(FID_SEQ_IGIF_MAX); + CHECK_VALUE_64X(FID_SEQ_IDIF); + CHECK_VALUE_64X(FID_SEQ_IDIF_MAX); + CHECK_VALUE_64X(FID_SEQ_START); + CHECK_VALUE_64X(FID_SEQ_LOCAL_FILE); + CHECK_VALUE_64X(FID_SEQ_DOT_LUSTRE); + CHECK_VALUE_64X(FID_SEQ_NORMAL); + CHECK_VALUE_64X(FID_SEQ_LOV_DEFAULT); +} + +static void +check_lu_dirent(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lu_dirent); + CHECK_MEMBER(lu_dirent, lde_fid); + CHECK_MEMBER(lu_dirent, lde_hash); + CHECK_MEMBER(lu_dirent, lde_reclen); + CHECK_MEMBER(lu_dirent, lde_namelen); + CHECK_MEMBER(lu_dirent, lde_attrs); + CHECK_MEMBER(lu_dirent, lde_name[0]); + + CHECK_VALUE_X(LUDA_FID); + CHECK_VALUE_X(LUDA_TYPE); + CHECK_VALUE_X(LUDA_64BITHASH); +} + +static void +check_luda_type(void) +{ + BLANK_LINE(); + CHECK_STRUCT(luda_type); + CHECK_MEMBER(luda_type, lt_type); +} + +static void +check_lu_dirpage(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lu_dirpage); + CHECK_MEMBER(lu_dirpage, ldp_hash_start); + CHECK_MEMBER(lu_dirpage, ldp_hash_end); + CHECK_MEMBER(lu_dirpage, ldp_flags); + CHECK_MEMBER(lu_dirpage, ldp_pad0); + CHECK_MEMBER(lu_dirpage, ldp_entries[0]); + + CHECK_VALUE(LDF_EMPTY); + CHECK_VALUE(LDF_COLLIDE); + CHECK_VALUE(LU_PAGE_SIZE); +} + +static void check_lustre_handle(void) { BLANK_LINE(); @@ -134,7 +275,7 @@ check_lustre_handle(void) CHECK_MEMBER(lustre_handle, cookie); } -void +static void check_lustre_msg_v2(void) { BLANK_LINE(); @@ -148,9 +289,14 @@ check_lustre_msg_v2(void) CHECK_MEMBER(lustre_msg_v2, lm_padding_2); 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); } -void +static void check_ptlrpc_body(void) { BLANK_LINE(); @@ -171,9 +317,57 @@ check_ptlrpc_body(void) CHECK_MEMBER(ptlrpc_body, pb_service_time); CHECK_MEMBER(ptlrpc_body, pb_slv); CHECK_MEMBER(ptlrpc_body, pb_limit); + CHECK_CVALUE(PTLRPC_NUM_VERSIONS); + CHECK_MEMBER(ptlrpc_body, pb_pre_versions[PTLRPC_NUM_VERSIONS]); + CHECK_MEMBER(ptlrpc_body, pb_padding[4]); + + CHECK_VALUE(MSG_PTLRPC_BODY_OFF); + CHECK_VALUE(REQ_REC_OFF); + CHECK_VALUE(REPLY_REC_OFF); + CHECK_VALUE(DLM_LOCKREQ_OFF); + CHECK_VALUE(DLM_REQ_REC_OFF); + CHECK_VALUE(DLM_INTENT_IT_OFF); + CHECK_VALUE(DLM_INTENT_REC_OFF); + CHECK_VALUE(DLM_LOCKREPLY_OFF); + CHECK_VALUE(DLM_REPLY_REC_OFF); + CHECK_VALUE(MSG_PTLRPC_HEADER_OFF); + + CHECK_DEFINE_X(PTLRPC_MSG_VERSION); + CHECK_DEFINE_X(LUSTRE_VERSION_MASK); + CHECK_DEFINE_X(LUSTRE_OBD_VERSION); + CHECK_DEFINE_X(LUSTRE_MDS_VERSION); + CHECK_DEFINE_X(LUSTRE_OST_VERSION); + CHECK_DEFINE_X(LUSTRE_DLM_VERSION); + CHECK_DEFINE_X(LUSTRE_LOG_VERSION); + CHECK_DEFINE_X(LUSTRE_MGS_VERSION); + + CHECK_VALUE(MSGHDR_AT_SUPPORT); + CHECK_VALUE(MSGHDR_CKSUM_INCOMPAT18); + + CHECK_VALUE_X(MSG_OP_FLAG_MASK); + CHECK_VALUE(MSG_OP_FLAG_SHIFT); + CHECK_VALUE_X(MSG_GEN_FLAG_MASK); + + CHECK_VALUE_X(MSG_LAST_REPLAY); + CHECK_VALUE_X(MSG_RESENT); + CHECK_VALUE_X(MSG_REPLAY); + CHECK_VALUE_X(MSG_DELAY_REPLAY); + CHECK_VALUE_X(MSG_VERSION_REPLAY); + CHECK_VALUE_X(MSG_REQ_REPLAY_DONE); + CHECK_VALUE_X(MSG_LOCK_REPLAY_DONE); + + CHECK_VALUE_X(MSG_CONNECT_RECOVERING); + CHECK_VALUE_X(MSG_CONNECT_RECONNECT); + CHECK_VALUE_X(MSG_CONNECT_REPLAYABLE); + CHECK_VALUE_X(MSG_CONNECT_LIBCLIENT); + CHECK_VALUE_X(MSG_CONNECT_INITIAL); + CHECK_VALUE_X(MSG_CONNECT_ASYNC); + CHECK_VALUE_X(MSG_CONNECT_NEXT_VER); + CHECK_VALUE_X(MSG_CONNECT_TRANSNO); } -static void check_obd_connect_data(void) +static void +check_obd_connect_data(void) { BLANK_LINE(); CHECK_STRUCT(obd_connect_data); @@ -183,40 +377,80 @@ static void check_obd_connect_data(void) CHECK_MEMBER(obd_connect_data, ocd_index); CHECK_MEMBER(obd_connect_data, ocd_brw_size); CHECK_MEMBER(obd_connect_data, ocd_ibits_known); - CHECK_MEMBER(obd_connect_data, ocd_nllu); - CHECK_MEMBER(obd_connect_data, ocd_nllg); + CHECK_MEMBER(obd_connect_data, ocd_blocksize); + CHECK_MEMBER(obd_connect_data, ocd_inodespace); + CHECK_MEMBER(obd_connect_data, ocd_grant_extent); + CHECK_MEMBER(obd_connect_data, ocd_unused); CHECK_MEMBER(obd_connect_data, ocd_transno); CHECK_MEMBER(obd_connect_data, ocd_group); CHECK_MEMBER(obd_connect_data, ocd_cksum_types); + 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, padding1); CHECK_MEMBER(obd_connect_data, padding2); - - CHECK_CDEFINE(OBD_CONNECT_RDONLY); - CHECK_CDEFINE(OBD_CONNECT_INDEX); - CHECK_CDEFINE(OBD_CONNECT_GRANT); - CHECK_CDEFINE(OBD_CONNECT_SRVLOCK); - CHECK_CDEFINE(OBD_CONNECT_VERSION); - CHECK_CDEFINE(OBD_CONNECT_REQPORTAL); - CHECK_CDEFINE(OBD_CONNECT_ACL); - CHECK_CDEFINE(OBD_CONNECT_XATTR); - CHECK_CDEFINE(OBD_CONNECT_REAL); - CHECK_CDEFINE(OBD_CONNECT_CKSUM); - CHECK_CDEFINE(OBD_CONNECT_TRUNCLOCK); - CHECK_CDEFINE(OBD_CONNECT_IBITS); - CHECK_CDEFINE(OBD_CONNECT_JOIN); - CHECK_CDEFINE(OBD_CONNECT_ATTRFID); - CHECK_CDEFINE(OBD_CONNECT_NODEVOH); - CHECK_CDEFINE(OBD_CONNECT_LCL_CLIENT); - CHECK_CDEFINE(OBD_CONNECT_RMT_CLIENT); - CHECK_CDEFINE(OBD_CONNECT_BRW_SIZE); - CHECK_CDEFINE(OBD_CONNECT_QUOTA64); - CHECK_CDEFINE(OBD_CONNECT_MDS_CAPA); - CHECK_CDEFINE(OBD_CONNECT_OSS_CAPA); - CHECK_CDEFINE(OBD_CONNECT_MDS_MDS); - CHECK_CDEFINE(OBD_CONNECT_SOM); - CHECK_CDEFINE(OBD_CONNECT_AT); - CHECK_CDEFINE(OBD_CONNECT_CANCELSET); - CHECK_CDEFINE(OBD_CONNECT_LRU_RESIZE); + CHECK_MEMBER(obd_connect_data, padding3); + CHECK_MEMBER(obd_connect_data, padding4); + CHECK_MEMBER(obd_connect_data, padding5); + CHECK_MEMBER(obd_connect_data, padding6); + CHECK_MEMBER(obd_connect_data, padding7); + CHECK_MEMBER(obd_connect_data, padding8); + CHECK_MEMBER(obd_connect_data, padding9); + CHECK_MEMBER(obd_connect_data, paddingA); + CHECK_MEMBER(obd_connect_data, paddingB); + CHECK_MEMBER(obd_connect_data, paddingC); + CHECK_MEMBER(obd_connect_data, paddingD); + CHECK_MEMBER(obd_connect_data, paddingE); + CHECK_MEMBER(obd_connect_data, paddingF); + + CHECK_DEFINE_64X(OBD_CONNECT_RDONLY); + CHECK_DEFINE_64X(OBD_CONNECT_INDEX); + CHECK_DEFINE_64X(OBD_CONNECT_MDS); + CHECK_DEFINE_64X(OBD_CONNECT_GRANT); + CHECK_DEFINE_64X(OBD_CONNECT_SRVLOCK); + CHECK_DEFINE_64X(OBD_CONNECT_VERSION); + CHECK_DEFINE_64X(OBD_CONNECT_REQPORTAL); + CHECK_DEFINE_64X(OBD_CONNECT_ACL); + CHECK_DEFINE_64X(OBD_CONNECT_XATTR); + CHECK_DEFINE_64X(OBD_CONNECT_CROW); + CHECK_DEFINE_64X(OBD_CONNECT_TRUNCLOCK); + CHECK_DEFINE_64X(OBD_CONNECT_TRANSNO); + CHECK_DEFINE_64X(OBD_CONNECT_IBITS); + CHECK_DEFINE_64X(OBD_CONNECT_JOIN); + CHECK_DEFINE_64X(OBD_CONNECT_ATTRFID); + CHECK_DEFINE_64X(OBD_CONNECT_NODEVOH); + CHECK_DEFINE_64X(OBD_CONNECT_RMT_CLIENT); + CHECK_DEFINE_64X(OBD_CONNECT_RMT_CLIENT_FORCE); + CHECK_DEFINE_64X(OBD_CONNECT_BRW_SIZE); + CHECK_DEFINE_64X(OBD_CONNECT_QUOTA64); + CHECK_DEFINE_64X(OBD_CONNECT_MDS_CAPA); + CHECK_DEFINE_64X(OBD_CONNECT_OSS_CAPA); + CHECK_DEFINE_64X(OBD_CONNECT_CANCELSET); + CHECK_DEFINE_64X(OBD_CONNECT_SOM); + CHECK_DEFINE_64X(OBD_CONNECT_AT); + CHECK_DEFINE_64X(OBD_CONNECT_LRU_RESIZE); + CHECK_DEFINE_64X(OBD_CONNECT_MDS_MDS); + CHECK_DEFINE_64X(OBD_CONNECT_REAL); + CHECK_DEFINE_64X(OBD_CONNECT_CHANGE_QS); + CHECK_DEFINE_64X(OBD_CONNECT_CKSUM); + CHECK_DEFINE_64X(OBD_CONNECT_FID); + CHECK_DEFINE_64X(OBD_CONNECT_VBR); + CHECK_DEFINE_64X(OBD_CONNECT_LOV_V3); + CHECK_DEFINE_64X(OBD_CONNECT_GRANT_SHRINK); + CHECK_DEFINE_64X(OBD_CONNECT_SKIP_ORPHAN); + CHECK_DEFINE_64X(OBD_CONNECT_MAX_EASIZE); + CHECK_DEFINE_64X(OBD_CONNECT_FULL20); + CHECK_DEFINE_64X(OBD_CONNECT_LAYOUTLOCK); + CHECK_DEFINE_64X(OBD_CONNECT_64BITHASH); + CHECK_DEFINE_64X(OBD_CONNECT_MAXBYTES); + CHECK_DEFINE_64X(OBD_CONNECT_IMP_RECOV); + CHECK_DEFINE_64X(OBD_CONNECT_JOBSTATS); + CHECK_DEFINE_64X(OBD_CONNECT_GRANT_PARAM); + CHECK_DEFINE_64X(OBD_CONNECT_EINPROGRESS); + + CHECK_VALUE_X(OBD_CKSUM_CRC32); + CHECK_VALUE_X(OBD_CKSUM_ADLER); + CHECK_VALUE_X(OBD_CKSUM_CRC32C); } static void @@ -226,8 +460,8 @@ check_obdo(void) CHECK_STRUCT(obdo); CHECK_MEMBER(obdo, o_valid); CHECK_MEMBER(obdo, o_id); - CHECK_MEMBER(obdo, o_gr); - CHECK_MEMBER(obdo, o_fid); + CHECK_MEMBER(obdo, o_seq); + CHECK_MEMBER(obdo, o_parent_seq); CHECK_MEMBER(obdo, o_size); CHECK_MEMBER(obdo, o_mtime); CHECK_MEMBER(obdo, o_atime); @@ -240,67 +474,101 @@ check_obdo(void) CHECK_MEMBER(obdo, o_gid); CHECK_MEMBER(obdo, o_flags); CHECK_MEMBER(obdo, o_nlink); - CHECK_MEMBER(obdo, o_generation); + CHECK_MEMBER(obdo, o_parent_oid); CHECK_MEMBER(obdo, o_misc); - CHECK_MEMBER(obdo, o_easize); - CHECK_MEMBER(obdo, o_mds); + CHECK_MEMBER(obdo, o_ioepoch); CHECK_MEMBER(obdo, o_stripe_idx); - CHECK_MEMBER(obdo, o_padding_1); - CHECK_MEMBER(obdo, o_inline); - - CHECK_VALUE(OBD_INLINESZ); - - CHECK_CDEFINE(OBD_MD_FLID); - CHECK_CDEFINE(OBD_MD_FLATIME); - CHECK_CDEFINE(OBD_MD_FLMTIME); - CHECK_CDEFINE(OBD_MD_FLCTIME); - CHECK_CDEFINE(OBD_MD_FLSIZE); - CHECK_CDEFINE(OBD_MD_FLBLOCKS); - CHECK_CDEFINE(OBD_MD_FLBLKSZ); - CHECK_CDEFINE(OBD_MD_FLMODE); - CHECK_CDEFINE(OBD_MD_FLTYPE); - CHECK_CDEFINE(OBD_MD_FLUID); - CHECK_CDEFINE(OBD_MD_FLGID); - CHECK_CDEFINE(OBD_MD_FLFLAGS); - CHECK_CDEFINE(OBD_MD_FLNLINK); - CHECK_CDEFINE(OBD_MD_FLGENER); - CHECK_CDEFINE(OBD_MD_FLINLINE); - CHECK_CDEFINE(OBD_MD_FLRDEV); - CHECK_CDEFINE(OBD_MD_FLEASIZE); - CHECK_CDEFINE(OBD_MD_LINKNAME); - CHECK_CDEFINE(OBD_MD_FLHANDLE); - CHECK_CDEFINE(OBD_MD_FLCKSUM); - CHECK_CDEFINE(OBD_MD_FLQOS); - CHECK_CDEFINE(OBD_MD_FLCOOKIE); - CHECK_CDEFINE(OBD_MD_FLGROUP); - CHECK_CDEFINE(OBD_MD_FLFID); - CHECK_CDEFINE(OBD_MD_FLEPOCH); - CHECK_CDEFINE(OBD_MD_FLGRANT); - CHECK_CDEFINE(OBD_MD_FLDIREA); - CHECK_CDEFINE(OBD_MD_FLUSRQUOTA); - CHECK_CDEFINE(OBD_MD_FLGRPQUOTA); - CHECK_CDEFINE(OBD_MD_FLMODEASIZE); - CHECK_CDEFINE(OBD_MD_MDS); - CHECK_CDEFINE(OBD_MD_REINT); - CHECK_CDEFINE(OBD_MD_FLXATTR); - CHECK_CDEFINE(OBD_MD_FLXATTRLS); - CHECK_CDEFINE(OBD_MD_FLXATTRRM); - CHECK_CDEFINE(OBD_MD_FLACL); - - CHECK_CDEFINE(OBD_FL_INLINEDATA); - CHECK_CDEFINE(OBD_FL_OBDMDEXISTS); - CHECK_CDEFINE(OBD_FL_DELORPHAN); - CHECK_CDEFINE(OBD_FL_NORPC); - CHECK_CDEFINE(OBD_FL_IDONLY); - CHECK_CDEFINE(OBD_FL_RECREATE_OBJS); - CHECK_CDEFINE(OBD_FL_DEBUG_CHECK); - CHECK_CDEFINE(OBD_FL_NO_USRQUOTA); - CHECK_CDEFINE(OBD_FL_NO_GRPQUOTA); - CHECK_CDEFINE(OBD_FL_TRUNCLOCK); - CHECK_CDEFINE(OBD_FL_CKSUM_CRC32); - CHECK_CDEFINE(OBD_FL_CKSUM_ADLER); - CHECK_CVALUE(OBD_CKSUM_CRC32); - CHECK_CVALUE(OBD_CKSUM_ADLER); + CHECK_MEMBER(obdo, o_parent_ver); + CHECK_MEMBER(obdo, o_handle); + CHECK_MEMBER(obdo, o_lcookie); + CHECK_MEMBER(obdo, o_uid_h); + CHECK_MEMBER(obdo, o_gid_h); + CHECK_MEMBER(obdo, o_data_version); + CHECK_MEMBER(obdo, o_padding_4); + CHECK_MEMBER(obdo, o_padding_5); + CHECK_MEMBER(obdo, o_padding_6); + + CHECK_DEFINE_64X(OBD_MD_FLID); + CHECK_DEFINE_64X(OBD_MD_FLATIME); + CHECK_DEFINE_64X(OBD_MD_FLMTIME); + CHECK_DEFINE_64X(OBD_MD_FLCTIME); + CHECK_DEFINE_64X(OBD_MD_FLSIZE); + CHECK_DEFINE_64X(OBD_MD_FLBLOCKS); + CHECK_DEFINE_64X(OBD_MD_FLBLKSZ); + CHECK_DEFINE_64X(OBD_MD_FLMODE); + CHECK_DEFINE_64X(OBD_MD_FLTYPE); + CHECK_DEFINE_64X(OBD_MD_FLUID); + CHECK_DEFINE_64X(OBD_MD_FLGID); + CHECK_DEFINE_64X(OBD_MD_FLFLAGS); + CHECK_DEFINE_64X(OBD_MD_FLNLINK); + CHECK_DEFINE_64X(OBD_MD_FLGENER); + CHECK_DEFINE_64X(OBD_MD_FLRDEV); + CHECK_DEFINE_64X(OBD_MD_FLEASIZE); + CHECK_DEFINE_64X(OBD_MD_LINKNAME); + 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); + CHECK_DEFINE_64X(OBD_MD_FLGRANT); + CHECK_DEFINE_64X(OBD_MD_FLDIREA); + CHECK_DEFINE_64X(OBD_MD_FLUSRQUOTA); + CHECK_DEFINE_64X(OBD_MD_FLGRPQUOTA); + CHECK_DEFINE_64X(OBD_MD_FLMODEASIZE); + CHECK_DEFINE_64X(OBD_MD_MDS); + CHECK_DEFINE_64X(OBD_MD_REINT); + CHECK_DEFINE_64X(OBD_MD_MEA); + CHECK_DEFINE_64X(OBD_MD_MDTIDX); + CHECK_DEFINE_64X(OBD_MD_FLXATTR); + CHECK_DEFINE_64X(OBD_MD_FLXATTRLS); + CHECK_DEFINE_64X(OBD_MD_FLXATTRRM); + CHECK_DEFINE_64X(OBD_MD_FLACL); + CHECK_DEFINE_64X(OBD_MD_FLRMTPERM); + CHECK_DEFINE_64X(OBD_MD_FLMDSCAPA); + CHECK_DEFINE_64X(OBD_MD_FLOSSCAPA); + CHECK_DEFINE_64X(OBD_MD_FLCKSPLIT); + CHECK_DEFINE_64X(OBD_MD_FLCROSSREF); + CHECK_DEFINE_64X(OBD_MD_FLGETATTRLOCK); + CHECK_DEFINE_64X(OBD_MD_FLRMTLSETFACL); + CHECK_DEFINE_64X(OBD_MD_FLRMTLGETFACL); + CHECK_DEFINE_64X(OBD_MD_FLRMTRSETFACL); + CHECK_DEFINE_64X(OBD_MD_FLRMTRGETFACL); + CHECK_DEFINE_64X(OBD_MD_FLDATAVERSION); + + CHECK_CVALUE_X(OBD_FL_INLINEDATA); + CHECK_CVALUE_X(OBD_FL_OBDMDEXISTS); + CHECK_CVALUE_X(OBD_FL_DELORPHAN); + CHECK_CVALUE_X(OBD_FL_NORPC); + CHECK_CVALUE_X(OBD_FL_IDONLY); + CHECK_CVALUE_X(OBD_FL_RECREATE_OBJS); + CHECK_CVALUE_X(OBD_FL_DEBUG_CHECK); + CHECK_CVALUE_X(OBD_FL_NO_USRQUOTA); + CHECK_CVALUE_X(OBD_FL_NO_GRPQUOTA); + CHECK_CVALUE_X(OBD_FL_CREATE_CROW); + CHECK_CVALUE_X(OBD_FL_SRVLOCK); + CHECK_CVALUE_X(OBD_FL_CKSUM_CRC32); + CHECK_CVALUE_X(OBD_FL_CKSUM_ADLER); + CHECK_CVALUE_X(OBD_FL_CKSUM_CRC32C); + CHECK_CVALUE_X(OBD_FL_CKSUM_RSVD2); + CHECK_CVALUE_X(OBD_FL_CKSUM_RSVD3); + CHECK_CVALUE_X(OBD_FL_SHRINK_GRANT); + 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_LOCAL_MASK); +} + +static void +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_gen); + CHECK_MEMBER(lov_ost_data_v1, l_ost_idx); } static void @@ -311,33 +579,35 @@ check_lov_mds_md_v1(void) 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_gr); + CHECK_MEMBER(lov_mds_md_v1, lmm_object_seq); 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_objects); - - 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_gr); - CHECK_MEMBER(lov_ost_data_v1, l_ost_gen); - CHECK_MEMBER(lov_ost_data_v1, l_ost_idx); + CHECK_MEMBER(lov_mds_md_v1, lmm_objects[0]); CHECK_CDEFINE(LOV_MAGIC_V1); - CHECK_CDEFINE(LOV_MAGIC_JOIN); - - CHECK_VALUE(LOV_PATTERN_RAID0); - CHECK_VALUE(LOV_PATTERN_RAID1); } static void -check_lov_mds_md_join(void) +check_lov_mds_md_v3(void) { BLANK_LINE(); - CHECK_STRUCT(lov_mds_md_join); - CHECK_MEMBER(lov_mds_md_join, lmmj_md); - CHECK_MEMBER(lov_mds_md_join, lmmj_array_id); - CHECK_MEMBER(lov_mds_md_join, lmmj_extent_count); + 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_stripe_size); + CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_count); + CHECK_CVALUE(LOV_MAXPOOLNAME); + CHECK_MEMBER(lov_mds_md_v3, lmm_pool_name[LOV_MAXPOOLNAME]); + CHECK_MEMBER(lov_mds_md_v3, lmm_objects[0]); + + CHECK_CDEFINE(LOV_MAGIC_V3); + + CHECK_VALUE_X(LOV_PATTERN_RAID0); + CHECK_VALUE_X(LOV_PATTERN_RAID1); + CHECK_VALUE_X(LOV_PATTERN_FIRST); + CHECK_VALUE_X(LOV_PATTERN_CMOBD); } static void @@ -371,7 +641,7 @@ check_obd_ioobj(void) BLANK_LINE(); CHECK_STRUCT(obd_ioobj); CHECK_MEMBER(obd_ioobj, ioo_id); - CHECK_MEMBER(obd_ioobj, ioo_gr); + CHECK_MEMBER(obd_ioobj, ioo_seq); CHECK_MEMBER(obd_ioobj, ioo_type); CHECK_MEMBER(obd_ioobj, ioo_bufcnt); } @@ -406,12 +676,13 @@ check_obd_quotactl(void) CHECK_MEMBER(obd_dqblk, dqb_btime); CHECK_MEMBER(obd_dqblk, dqb_itime); CHECK_MEMBER(obd_dqblk, dqb_valid); - CHECK_MEMBER(obd_dqblk, padding); + CHECK_MEMBER(obd_dqblk, dqb_padding); - CHECK_DEFINE(Q_QUOTACHECK); - CHECK_DEFINE(Q_INITQUOTA); - CHECK_DEFINE(Q_GETOINFO); - CHECK_DEFINE(Q_GETOQUOTA); + CHECK_DEFINE_X(Q_QUOTACHECK); + CHECK_DEFINE_X(Q_INITQUOTA); + CHECK_DEFINE_X(Q_GETOINFO); + CHECK_DEFINE_X(Q_GETOQUOTA); + CHECK_DEFINE_X(Q_FINVALIDATE); } static void @@ -423,11 +694,17 @@ check_niobuf_remote(void) CHECK_MEMBER(niobuf_remote, len); CHECK_MEMBER(niobuf_remote, flags); - CHECK_VALUE(OBD_BRW_READ); - CHECK_VALUE(OBD_BRW_WRITE); - CHECK_VALUE(OBD_BRW_SYNC); - CHECK_VALUE(OBD_BRW_FROM_GRANT); - CHECK_VALUE(OBD_BRW_NOQUOTA); + CHECK_DEFINE_X(OBD_BRW_READ); + CHECK_DEFINE_X(OBD_BRW_WRITE); + CHECK_DEFINE_X(OBD_BRW_SYNC); + CHECK_DEFINE_X(OBD_BRW_CHECK); + CHECK_DEFINE_X(OBD_BRW_FROM_GRANT); + CHECK_DEFINE_X(OBD_BRW_GRANTED); + CHECK_DEFINE_X(OBD_BRW_NOCACHE); + CHECK_DEFINE_X(OBD_BRW_NOQUOTA); + CHECK_DEFINE_X(OBD_BRW_SRVLOCK); + CHECK_DEFINE_X(OBD_BRW_ASYNC); + CHECK_DEFINE_X(OBD_BRW_MEMALLOC); } static void @@ -449,188 +726,357 @@ check_ll_fid(void) } static void -check_mds_status_req(void) -{ - BLANK_LINE(); - CHECK_STRUCT(mds_status_req); - CHECK_MEMBER(mds_status_req, flags); - CHECK_MEMBER(mds_status_req, repbuf); -} - -static void -check_mds_body(void) -{ - BLANK_LINE(); - CHECK_STRUCT(mds_body); - CHECK_MEMBER(mds_body, fid1); - CHECK_MEMBER(mds_body, fid2); - CHECK_MEMBER(mds_body, handle); - CHECK_MEMBER(mds_body, size); - CHECK_MEMBER(mds_body, blocks); - CHECK_MEMBER(mds_body, io_epoch); - CHECK_MEMBER(mds_body, ino); - CHECK_MEMBER(mds_body, valid); - CHECK_MEMBER(mds_body, fsuid); - CHECK_MEMBER(mds_body, fsgid); - CHECK_MEMBER(mds_body, capability); - CHECK_MEMBER(mds_body, mode); - CHECK_MEMBER(mds_body, uid); - CHECK_MEMBER(mds_body, gid); - CHECK_MEMBER(mds_body, mtime); - CHECK_MEMBER(mds_body, ctime); - CHECK_MEMBER(mds_body, atime); - CHECK_MEMBER(mds_body, flags); - CHECK_MEMBER(mds_body, rdev); - CHECK_MEMBER(mds_body, nlink); - CHECK_MEMBER(mds_body, generation); - CHECK_MEMBER(mds_body, suppgid); - CHECK_MEMBER(mds_body, eadatasize); - CHECK_MEMBER(mds_body, aclsize); - CHECK_MEMBER(mds_body, max_mdsize); - CHECK_MEMBER(mds_body, max_cookiesize); - CHECK_MEMBER(mds_body, padding_4); - - CHECK_VALUE(FMODE_READ); - CHECK_VALUE(FMODE_WRITE); - CHECK_VALUE(MDS_FMODE_EXEC); - - CHECK_CDEFINE(MDS_OPEN_CREAT); - CHECK_CDEFINE(MDS_OPEN_EXCL); - CHECK_CDEFINE(MDS_OPEN_TRUNC); - CHECK_CDEFINE(MDS_OPEN_APPEND); - CHECK_CDEFINE(MDS_OPEN_SYNC); - CHECK_CDEFINE(MDS_OPEN_DIRECTORY); - CHECK_CDEFINE(MDS_OPEN_DELAY_CREATE); - CHECK_CDEFINE(MDS_OPEN_OWNEROVERRIDE); - CHECK_CDEFINE(MDS_OPEN_JOIN_FILE); - CHECK_CDEFINE(MDS_OPEN_HAS_EA); - CHECK_CDEFINE(MDS_OPEN_HAS_OBJS); +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, ino); + 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, generation); + 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_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); + CHECK_VALUE_O(MDS_OPEN_CREAT); + CHECK_VALUE_O(MDS_OPEN_EXCL); + CHECK_VALUE_O(MDS_OPEN_TRUNC); + CHECK_VALUE_O(MDS_OPEN_APPEND); + CHECK_VALUE_O(MDS_OPEN_SYNC); + CHECK_VALUE_O(MDS_OPEN_DIRECTORY); + CHECK_VALUE_O(MDS_OPEN_DELAY_CREATE); + CHECK_VALUE_O(MDS_OPEN_OWNEROVERRIDE); + CHECK_VALUE_O(MDS_OPEN_JOIN_FILE); + CHECK_VALUE_O(MDS_CREATE_RMT_ACL); + CHECK_VALUE_O(MDS_CREATE_SLAVE_OBJ); + CHECK_VALUE_O(MDS_OPEN_LOCK); + CHECK_VALUE_O(MDS_OPEN_HAS_EA); + CHECK_VALUE_O(MDS_OPEN_HAS_OBJS); + CHECK_VALUE_64O(MDS_OPEN_NORESTORE); + CHECK_VALUE_64O(MDS_OPEN_NEWSTRIPE); /* these should be identical to their EXT3_*_FL counterparts, and * are redefined only to avoid dragging in ext3_fs.h */ - CHECK_CDEFINE(MDS_SYNC_FL); - CHECK_CDEFINE(MDS_IMMUTABLE_FL); - CHECK_CDEFINE(MDS_APPEND_FL); - CHECK_CDEFINE(MDS_NOATIME_FL); - CHECK_CDEFINE(MDS_DIRSYNC_FL); - CHECK_CDEFINE(MDS_BFLAG_EXT_FLAGS); + CHECK_DEFINE_X(LUSTRE_SYNC_FL); + CHECK_DEFINE_X(LUSTRE_IMMUTABLE_FL); + CHECK_DEFINE_X(LUSTRE_APPEND_FL); + CHECK_DEFINE_X(LUSTRE_NOATIME_FL); + CHECK_DEFINE_X(LUSTRE_DIRSYNC_FL); + + CHECK_DEFINE_X(MDS_INODELOCK_LOOKUP); + CHECK_DEFINE_X(MDS_INODELOCK_UPDATE); + CHECK_DEFINE_X(MDS_INODELOCK_OPEN); + CHECK_DEFINE_X(MDS_INODELOCK_LAYOUT); +} + +static void +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_CDEFINE(MDS_INODELOCK_LOOKUP); - CHECK_CDEFINE(MDS_INODELOCK_UPDATE); - CHECK_CDEFINE(MDS_INODELOCK_OPEN); -} - -static void -check_mds_rec_setattr(void) -{ - BLANK_LINE(); - CHECK_STRUCT(mds_rec_setattr); - CHECK_MEMBER(mds_rec_setattr, sa_opcode); - CHECK_MEMBER(mds_rec_setattr, sa_fsuid); - CHECK_MEMBER(mds_rec_setattr, sa_fsgid); - CHECK_MEMBER(mds_rec_setattr, sa_cap); - CHECK_MEMBER(mds_rec_setattr, sa_suppgid); - CHECK_MEMBER(mds_rec_setattr, sa_mode); - CHECK_MEMBER(mds_rec_setattr, sa_fid); - CHECK_MEMBER(mds_rec_setattr, sa_valid); - CHECK_MEMBER(mds_rec_setattr, sa_size); - CHECK_MEMBER(mds_rec_setattr, sa_mtime); - CHECK_MEMBER(mds_rec_setattr, sa_atime); - CHECK_MEMBER(mds_rec_setattr, sa_ctime); - CHECK_MEMBER(mds_rec_setattr, sa_uid); - CHECK_MEMBER(mds_rec_setattr, sa_gid); - CHECK_MEMBER(mds_rec_setattr, sa_attr_flags); - CHECK_CDEFINE(MDS_ATTR_MODE); - CHECK_CDEFINE(MDS_ATTR_UID); - CHECK_CDEFINE(MDS_ATTR_GID); - CHECK_CDEFINE(MDS_ATTR_SIZE); - CHECK_CDEFINE(MDS_ATTR_ATIME); - CHECK_CDEFINE(MDS_ATTR_MTIME); - CHECK_CDEFINE(MDS_ATTR_CTIME); - CHECK_CDEFINE(MDS_ATTR_ATIME_SET); - CHECK_CDEFINE(MDS_ATTR_MTIME_SET); - CHECK_CDEFINE(MDS_ATTR_FORCE); - CHECK_CDEFINE(MDS_ATTR_ATTR_FLAG); - CHECK_CDEFINE(MDS_ATTR_KILL_SUID); - CHECK_CDEFINE(MDS_ATTR_KILL_SGID); - CHECK_CDEFINE(MDS_ATTR_CTIME_SET); - CHECK_CDEFINE(MDS_ATTR_FROM_OPEN); - CHECK_CDEFINE(MDS_ATTR_BLOCKS); +static void +check_mdt_remote_perm(void) +{ + BLANK_LINE(); + CHECK_STRUCT(mdt_remote_perm); + CHECK_MEMBER(mdt_remote_perm, rp_uid); + CHECK_MEMBER(mdt_remote_perm, rp_gid); + CHECK_MEMBER(mdt_remote_perm, rp_fsuid); + CHECK_MEMBER(mdt_remote_perm, rp_fsgid); + CHECK_MEMBER(mdt_remote_perm, rp_access_perm); + CHECK_MEMBER(mdt_remote_perm, rp_padding); + + CHECK_VALUE_X(CFS_SETUID_PERM); + CHECK_VALUE_X(CFS_SETGID_PERM); + CHECK_VALUE_X(CFS_SETGRP_PERM); + CHECK_VALUE_X(CFS_RMTACL_PERM); + CHECK_VALUE_X(CFS_RMTOWN_PERM); +} + +static void +check_mdt_rec_setattr(void) +{ + BLANK_LINE(); + CHECK_STRUCT(mdt_rec_setattr); + CHECK_MEMBER(mdt_rec_setattr, sa_opcode); + CHECK_MEMBER(mdt_rec_setattr, sa_cap); + CHECK_MEMBER(mdt_rec_setattr, sa_fsuid); + CHECK_MEMBER(mdt_rec_setattr, sa_fsuid_h); + CHECK_MEMBER(mdt_rec_setattr, sa_fsgid); + CHECK_MEMBER(mdt_rec_setattr, sa_fsgid_h); + CHECK_MEMBER(mdt_rec_setattr, sa_suppgid); + CHECK_MEMBER(mdt_rec_setattr, sa_suppgid_h); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_1); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_1_h); + CHECK_MEMBER(mdt_rec_setattr, sa_fid); + CHECK_MEMBER(mdt_rec_setattr, sa_valid); + CHECK_MEMBER(mdt_rec_setattr, sa_uid); + CHECK_MEMBER(mdt_rec_setattr, sa_gid); + CHECK_MEMBER(mdt_rec_setattr, sa_size); + CHECK_MEMBER(mdt_rec_setattr, sa_blocks); + CHECK_MEMBER(mdt_rec_setattr, sa_mtime); + CHECK_MEMBER(mdt_rec_setattr, sa_atime); + CHECK_MEMBER(mdt_rec_setattr, sa_ctime); + CHECK_MEMBER(mdt_rec_setattr, sa_attr_flags); + CHECK_MEMBER(mdt_rec_setattr, sa_mode); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_2); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_3); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_4); + CHECK_MEMBER(mdt_rec_setattr, sa_padding_5); +} + +static void +check_mdt_rec_create(void) +{ + BLANK_LINE(); + CHECK_STRUCT(mdt_rec_create); + CHECK_MEMBER(mdt_rec_create, cr_opcode); + CHECK_MEMBER(mdt_rec_create, cr_cap); + CHECK_MEMBER(mdt_rec_create, cr_fsuid); + CHECK_MEMBER(mdt_rec_create, cr_fsuid_h); + CHECK_MEMBER(mdt_rec_create, cr_fsgid); + CHECK_MEMBER(mdt_rec_create, cr_fsgid_h); + CHECK_MEMBER(mdt_rec_create, cr_suppgid1); + CHECK_MEMBER(mdt_rec_create, cr_suppgid1_h); + CHECK_MEMBER(mdt_rec_create, cr_suppgid2); + CHECK_MEMBER(mdt_rec_create, cr_suppgid2_h); + CHECK_MEMBER(mdt_rec_create, cr_fid1); + CHECK_MEMBER(mdt_rec_create, cr_fid2); + CHECK_MEMBER(mdt_rec_create, cr_old_handle); + CHECK_MEMBER(mdt_rec_create, cr_time); + CHECK_MEMBER(mdt_rec_create, cr_rdev); + CHECK_MEMBER(mdt_rec_create, cr_ioepoch); + CHECK_MEMBER(mdt_rec_create, cr_padding_1); + CHECK_MEMBER(mdt_rec_create, cr_mode); + CHECK_MEMBER(mdt_rec_create, cr_bias); + CHECK_MEMBER(mdt_rec_create, cr_flags_l); + CHECK_MEMBER(mdt_rec_create, cr_flags_h); + CHECK_MEMBER(mdt_rec_create, cr_padding_3); + CHECK_MEMBER(mdt_rec_create, cr_padding_4); +} + +static void +check_mdt_rec_link(void) +{ + BLANK_LINE(); + CHECK_STRUCT(mdt_rec_link); + CHECK_MEMBER(mdt_rec_link, lk_opcode); + CHECK_MEMBER(mdt_rec_link, lk_cap); + CHECK_MEMBER(mdt_rec_link, lk_fsuid); + CHECK_MEMBER(mdt_rec_link, lk_fsuid_h); + CHECK_MEMBER(mdt_rec_link, lk_fsgid); + CHECK_MEMBER(mdt_rec_link, lk_fsgid_h); + CHECK_MEMBER(mdt_rec_link, lk_suppgid1); + CHECK_MEMBER(mdt_rec_link, lk_suppgid1_h); + CHECK_MEMBER(mdt_rec_link, lk_suppgid2); + CHECK_MEMBER(mdt_rec_link, lk_suppgid2_h); + CHECK_MEMBER(mdt_rec_link, lk_fid1); + CHECK_MEMBER(mdt_rec_link, lk_fid2); + CHECK_MEMBER(mdt_rec_link, lk_time); + CHECK_MEMBER(mdt_rec_link, lk_padding_1); + CHECK_MEMBER(mdt_rec_link, lk_padding_2); + CHECK_MEMBER(mdt_rec_link, lk_padding_3); + CHECK_MEMBER(mdt_rec_link, lk_padding_4); + CHECK_MEMBER(mdt_rec_link, lk_bias); + CHECK_MEMBER(mdt_rec_link, lk_padding_5); + CHECK_MEMBER(mdt_rec_link, lk_padding_6); + CHECK_MEMBER(mdt_rec_link, lk_padding_7); + CHECK_MEMBER(mdt_rec_link, lk_padding_8); + CHECK_MEMBER(mdt_rec_link, lk_padding_9); +} + +static void +check_mdt_rec_unlink(void) +{ + BLANK_LINE(); + CHECK_STRUCT(mdt_rec_unlink); + CHECK_MEMBER(mdt_rec_unlink, ul_opcode); + CHECK_MEMBER(mdt_rec_unlink, ul_cap); + CHECK_MEMBER(mdt_rec_unlink, ul_fsuid); + CHECK_MEMBER(mdt_rec_unlink, ul_fsuid_h); + CHECK_MEMBER(mdt_rec_unlink, ul_fsgid); + CHECK_MEMBER(mdt_rec_unlink, ul_fsgid_h); + CHECK_MEMBER(mdt_rec_unlink, ul_suppgid1); + CHECK_MEMBER(mdt_rec_unlink, ul_suppgid1_h); + CHECK_MEMBER(mdt_rec_unlink, ul_suppgid2); + CHECK_MEMBER(mdt_rec_unlink, ul_suppgid2_h); + CHECK_MEMBER(mdt_rec_unlink, ul_fid1); + CHECK_MEMBER(mdt_rec_unlink, ul_fid2); + CHECK_MEMBER(mdt_rec_unlink, ul_time); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_2); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_3); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_4); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_5); + CHECK_MEMBER(mdt_rec_unlink, ul_bias); + CHECK_MEMBER(mdt_rec_unlink, ul_mode); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_6); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_7); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_8); + CHECK_MEMBER(mdt_rec_unlink, ul_padding_9); } static void -check_mds_rec_create(void) +check_mdt_rec_rename(void) { BLANK_LINE(); - CHECK_STRUCT(mds_rec_create); - CHECK_MEMBER(mds_rec_create, cr_opcode); - CHECK_MEMBER(mds_rec_create, cr_fsuid); - CHECK_MEMBER(mds_rec_create, cr_fsgid); - CHECK_MEMBER(mds_rec_create, cr_cap); - CHECK_MEMBER(mds_rec_create, cr_flags); - CHECK_MEMBER(mds_rec_create, cr_mode); - CHECK_MEMBER(mds_rec_create, cr_fid); - CHECK_MEMBER(mds_rec_create, cr_replayfid); - CHECK_MEMBER(mds_rec_create, cr_time); - CHECK_MEMBER(mds_rec_create, cr_rdev); - CHECK_MEMBER(mds_rec_create, cr_suppgid); + CHECK_STRUCT(mdt_rec_rename); + CHECK_MEMBER(mdt_rec_rename, rn_opcode); + CHECK_MEMBER(mdt_rec_rename, rn_cap); + CHECK_MEMBER(mdt_rec_rename, rn_fsuid); + CHECK_MEMBER(mdt_rec_rename, rn_fsuid_h); + CHECK_MEMBER(mdt_rec_rename, rn_fsgid); + CHECK_MEMBER(mdt_rec_rename, rn_fsgid_h); + CHECK_MEMBER(mdt_rec_rename, rn_suppgid1); + CHECK_MEMBER(mdt_rec_rename, rn_suppgid1_h); + CHECK_MEMBER(mdt_rec_rename, rn_suppgid2); + CHECK_MEMBER(mdt_rec_rename, rn_suppgid2_h); + CHECK_MEMBER(mdt_rec_rename, rn_fid1); + CHECK_MEMBER(mdt_rec_rename, rn_fid2); + CHECK_MEMBER(mdt_rec_rename, rn_time); + CHECK_MEMBER(mdt_rec_rename, rn_padding_1); + CHECK_MEMBER(mdt_rec_rename, rn_padding_2); + CHECK_MEMBER(mdt_rec_rename, rn_padding_3); + CHECK_MEMBER(mdt_rec_rename, rn_padding_4); + CHECK_MEMBER(mdt_rec_rename, rn_bias); + CHECK_MEMBER(mdt_rec_rename, rn_mode); + CHECK_MEMBER(mdt_rec_rename, rn_padding_5); + CHECK_MEMBER(mdt_rec_rename, rn_padding_6); + CHECK_MEMBER(mdt_rec_rename, rn_padding_7); + CHECK_MEMBER(mdt_rec_rename, rn_padding_8); } static void -check_mds_rec_link(void) +check_mdt_rec_setxattr(void) { BLANK_LINE(); - CHECK_STRUCT(mds_rec_link); - CHECK_MEMBER(mds_rec_link, lk_opcode); - CHECK_MEMBER(mds_rec_link, lk_fsuid); - CHECK_MEMBER(mds_rec_link, lk_fsgid); - CHECK_MEMBER(mds_rec_link, lk_cap); - CHECK_MEMBER(mds_rec_link, lk_suppgid1); - CHECK_MEMBER(mds_rec_link, lk_suppgid2); - CHECK_MEMBER(mds_rec_link, lk_fid1); - CHECK_MEMBER(mds_rec_link, lk_fid2); - CHECK_MEMBER(mds_rec_link, lk_time); + CHECK_STRUCT(mdt_rec_setxattr); + CHECK_MEMBER(mdt_rec_setxattr, sx_opcode); + CHECK_MEMBER(mdt_rec_setxattr, sx_cap); + CHECK_MEMBER(mdt_rec_setxattr, sx_fsuid); + CHECK_MEMBER(mdt_rec_setxattr, sx_fsuid_h); + CHECK_MEMBER(mdt_rec_setxattr, sx_fsgid); + CHECK_MEMBER(mdt_rec_setxattr, sx_fsgid_h); + CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid1); + CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid1_h); + CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid2); + CHECK_MEMBER(mdt_rec_setxattr, sx_suppgid2_h); + CHECK_MEMBER(mdt_rec_setxattr, sx_fid); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_1); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_2); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_3); + CHECK_MEMBER(mdt_rec_setxattr, sx_valid); + CHECK_MEMBER(mdt_rec_setxattr, sx_time); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_5); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_6); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_7); + CHECK_MEMBER(mdt_rec_setxattr, sx_size); + CHECK_MEMBER(mdt_rec_setxattr, sx_flags); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_8); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_9); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_10); + CHECK_MEMBER(mdt_rec_setxattr, sx_padding_11); } static void -check_mds_rec_unlink(void) +check_mdt_rec_reint(void) { BLANK_LINE(); - CHECK_STRUCT(mds_rec_unlink); - CHECK_MEMBER(mds_rec_unlink, ul_opcode); - CHECK_MEMBER(mds_rec_unlink, ul_fsuid); - CHECK_MEMBER(mds_rec_unlink, ul_fsgid); - CHECK_MEMBER(mds_rec_unlink, ul_cap); - CHECK_MEMBER(mds_rec_unlink, ul_suppgid); - CHECK_MEMBER(mds_rec_unlink, ul_mode); - CHECK_MEMBER(mds_rec_unlink, ul_fid1); - CHECK_MEMBER(mds_rec_unlink, ul_fid2); - CHECK_MEMBER(mds_rec_unlink, ul_time); + CHECK_STRUCT(mdt_rec_reint); + CHECK_MEMBER(mdt_rec_reint, rr_opcode); + CHECK_MEMBER(mdt_rec_reint, rr_cap); + CHECK_MEMBER(mdt_rec_reint, rr_fsuid); + CHECK_MEMBER(mdt_rec_reint, rr_fsuid_h); + CHECK_MEMBER(mdt_rec_reint, rr_fsgid); + CHECK_MEMBER(mdt_rec_reint, rr_fsgid_h); + CHECK_MEMBER(mdt_rec_reint, rr_suppgid1); + CHECK_MEMBER(mdt_rec_reint, rr_suppgid1_h); + CHECK_MEMBER(mdt_rec_reint, rr_suppgid2); + CHECK_MEMBER(mdt_rec_reint, rr_suppgid2_h); + CHECK_MEMBER(mdt_rec_reint, rr_fid1); + CHECK_MEMBER(mdt_rec_reint, rr_fid2); + CHECK_MEMBER(mdt_rec_reint, rr_mtime); + CHECK_MEMBER(mdt_rec_reint, rr_atime); + CHECK_MEMBER(mdt_rec_reint, rr_ctime); + CHECK_MEMBER(mdt_rec_reint, rr_size); + CHECK_MEMBER(mdt_rec_reint, rr_blocks); + 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_padding_4); } static void -check_mds_rec_rename(void) +check_lmv_desc(void) { BLANK_LINE(); - CHECK_STRUCT(mds_rec_rename); - CHECK_MEMBER(mds_rec_rename, rn_opcode); - CHECK_MEMBER(mds_rec_rename, rn_fsuid); - CHECK_MEMBER(mds_rec_rename, rn_fsgid); - CHECK_MEMBER(mds_rec_rename, rn_cap); - CHECK_MEMBER(mds_rec_rename, rn_suppgid1); - CHECK_MEMBER(mds_rec_rename, rn_suppgid2); - CHECK_MEMBER(mds_rec_rename, rn_fid1); - CHECK_MEMBER(mds_rec_rename, rn_fid2); - CHECK_MEMBER(mds_rec_rename, rn_time); + CHECK_STRUCT(lmv_desc); + CHECK_MEMBER(lmv_desc, ld_tgt_count); + CHECK_MEMBER(lmv_desc, ld_active_tgt_count); + CHECK_MEMBER(lmv_desc, ld_default_stripe_count); + CHECK_MEMBER(lmv_desc, ld_pattern); + CHECK_MEMBER(lmv_desc, ld_default_hash_size); + CHECK_MEMBER(lmv_desc, ld_padding_1); + CHECK_MEMBER(lmv_desc, ld_padding_2); + CHECK_MEMBER(lmv_desc, ld_qos_maxage); + CHECK_MEMBER(lmv_desc, ld_padding_3); + CHECK_MEMBER(lmv_desc, ld_padding_4); + CHECK_MEMBER(lmv_desc, ld_uuid); } static void -check_mds_rec_join(void) +check_lmv_stripe_md(void) { BLANK_LINE(); - CHECK_STRUCT(mds_rec_join); - CHECK_MEMBER(mds_rec_join, jr_fid); - CHECK_MEMBER(mds_rec_join, jr_headsize); + 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 @@ -644,10 +1090,13 @@ check_lov_desc(void) CHECK_MEMBER(lov_desc, ld_pattern); CHECK_MEMBER(lov_desc, ld_default_stripe_size); CHECK_MEMBER(lov_desc, ld_default_stripe_offset); + CHECK_MEMBER(lov_desc, ld_padding_0); CHECK_MEMBER(lov_desc, ld_qos_maxage); CHECK_MEMBER(lov_desc, ld_padding_1); CHECK_MEMBER(lov_desc, ld_padding_2); CHECK_MEMBER(lov_desc, ld_uuid); + + CHECK_CDEFINE(LOV_DESC_MAGIC); } static void @@ -655,6 +1104,7 @@ check_ldlm_res_id(void) { BLANK_LINE(); CHECK_STRUCT(ldlm_res_id); + CHECK_CVALUE(RES_NAME_SIZE); CHECK_MEMBER(ldlm_res_id, name[RES_NAME_SIZE]); } @@ -680,11 +1130,12 @@ static void check_ldlm_flock(void) { BLANK_LINE(); - CHECK_STRUCT(ldlm_flock); - CHECK_MEMBER(ldlm_flock, start); - CHECK_MEMBER(ldlm_flock, end); - CHECK_MEMBER(ldlm_flock, blocking_pid); - CHECK_MEMBER(ldlm_flock, pid); + CHECK_STRUCT(ldlm_flock_wire); + CHECK_MEMBER(ldlm_flock_wire, lfw_start); + CHECK_MEMBER(ldlm_flock_wire, lfw_end); + CHECK_MEMBER(ldlm_flock_wire, lfw_owner); + CHECK_MEMBER(ldlm_flock_wire, lfw_padding); + CHECK_MEMBER(ldlm_flock_wire, lfw_pid); } static void @@ -752,6 +1203,29 @@ check_ldlm_lvb(void) CHECK_MEMBER(ost_lvb, lvb_blocks); } +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]); +} + +static void +check_cfg_marker(void) +{ + BLANK_LINE(); + CHECK_STRUCT(cfg_marker); + CHECK_MEMBER(cfg_marker, cm_step); + CHECK_MEMBER(cfg_marker, cm_flags); + CHECK_MEMBER(cfg_marker, cm_vers); + CHECK_MEMBER(cfg_marker, cm_padding); + CHECK_MEMBER(cfg_marker, cm_createtime); + CHECK_MEMBER(cfg_marker, cm_canceltime); + CHECK_MEMBER(cfg_marker, cm_tgtname); + CHECK_MEMBER(cfg_marker, cm_comment); +} static void check_llog_logid(void) @@ -759,7 +1233,7 @@ check_llog_logid(void) BLANK_LINE(); CHECK_STRUCT(llog_logid); CHECK_MEMBER(llog_logid, lgl_oid); - CHECK_MEMBER(llog_logid, lgl_ogr); + CHECK_MEMBER(llog_logid, lgl_oseq); CHECK_MEMBER(llog_logid, lgl_ogen); CHECK_CVALUE(OST_SZ_REC); @@ -793,7 +1267,7 @@ check_llog_rec_hdr(void) CHECK_MEMBER(llog_rec_hdr, lrh_len); CHECK_MEMBER(llog_rec_hdr, lrh_index); CHECK_MEMBER(llog_rec_hdr, lrh_type); - CHECK_MEMBER(llog_rec_hdr, padding); + CHECK_MEMBER(llog_rec_hdr, lrh_padding); } static void @@ -812,11 +1286,11 @@ check_llog_logid_rec(void) CHECK_STRUCT(llog_logid_rec); CHECK_MEMBER(llog_logid_rec, lid_hdr); CHECK_MEMBER(llog_logid_rec, lid_id); - CHECK_MEMBER(llog_logid_rec, padding1); - CHECK_MEMBER(llog_logid_rec, padding2); - CHECK_MEMBER(llog_logid_rec, padding3); - CHECK_MEMBER(llog_logid_rec, padding4); - CHECK_MEMBER(llog_logid_rec, padding5); + CHECK_MEMBER(llog_logid_rec, lid_padding1); + CHECK_MEMBER(llog_logid_rec, lid_padding2); + CHECK_MEMBER(llog_logid_rec, lid_padding3); + CHECK_MEMBER(llog_logid_rec, lid_padding4); + CHECK_MEMBER(llog_logid_rec, lid_padding5); CHECK_MEMBER(llog_logid_rec, lid_tail); } @@ -828,8 +1302,9 @@ check_llog_create_rec(void) CHECK_MEMBER(llog_create_rec, lcr_hdr); CHECK_MEMBER(llog_create_rec, lcr_fid); CHECK_MEMBER(llog_create_rec, lcr_oid); - CHECK_MEMBER(llog_create_rec, lcr_ogen); - CHECK_MEMBER(llog_create_rec, padding); + CHECK_MEMBER(llog_create_rec, lcr_oseq); + CHECK_MEMBER(llog_create_rec, lcr_padding); + CHECK_MEMBER(llog_create_rec, lcr_tail); } static void @@ -840,7 +1315,7 @@ check_llog_orphan_rec(void) CHECK_MEMBER(llog_orphan_rec, lor_hdr); CHECK_MEMBER(llog_orphan_rec, lor_oid); CHECK_MEMBER(llog_orphan_rec, lor_ogen); - CHECK_MEMBER(llog_orphan_rec, padding); + CHECK_MEMBER(llog_orphan_rec, lor_padding); CHECK_MEMBER(llog_orphan_rec, lor_tail); } @@ -851,8 +1326,8 @@ check_llog_unlink_rec(void) CHECK_STRUCT(llog_unlink_rec); CHECK_MEMBER(llog_unlink_rec, lur_hdr); CHECK_MEMBER(llog_unlink_rec, lur_oid); - CHECK_MEMBER(llog_unlink_rec, lur_ogen); - CHECK_MEMBER(llog_unlink_rec, padding); + CHECK_MEMBER(llog_unlink_rec, lur_oseq); + CHECK_MEMBER(llog_unlink_rec, lur_count); CHECK_MEMBER(llog_unlink_rec, lur_tail); } @@ -863,14 +1338,30 @@ check_llog_setattr_rec(void) CHECK_STRUCT(llog_setattr_rec); CHECK_MEMBER(llog_setattr_rec, lsr_hdr); CHECK_MEMBER(llog_setattr_rec, lsr_oid); - CHECK_MEMBER(llog_setattr_rec, lsr_ogen); + CHECK_MEMBER(llog_setattr_rec, lsr_oseq); CHECK_MEMBER(llog_setattr_rec, lsr_uid); CHECK_MEMBER(llog_setattr_rec, lsr_gid); - CHECK_MEMBER(llog_setattr_rec, padding); + CHECK_MEMBER(llog_setattr_rec, lsr_padding); CHECK_MEMBER(llog_setattr_rec, lsr_tail); } static void +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_padding); + 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_tail); +} + +static void check_llog_size_change_rec(void) { BLANK_LINE(); @@ -878,11 +1369,57 @@ check_llog_size_change_rec(void) CHECK_MEMBER(llog_size_change_rec, lsc_hdr); CHECK_MEMBER(llog_size_change_rec, lsc_fid); CHECK_MEMBER(llog_size_change_rec, lsc_ioepoch); - CHECK_MEMBER(llog_size_change_rec, padding); + CHECK_MEMBER(llog_size_change_rec, lsc_padding); CHECK_MEMBER(llog_size_change_rec, lsc_tail); } static void +check_changelog_rec(void) +{ + BLANK_LINE(); + CHECK_STRUCT(changelog_rec); + CHECK_MEMBER(changelog_rec, cr_namelen); + CHECK_MEMBER(changelog_rec, cr_flags); + CHECK_MEMBER(changelog_rec, cr_type); + CHECK_MEMBER(changelog_rec, cr_index); + CHECK_MEMBER(changelog_rec, cr_prev); + CHECK_MEMBER(changelog_rec, cr_time); + CHECK_MEMBER(changelog_rec, cr_tfid); + CHECK_MEMBER(changelog_rec, cr_pfid); +} + +static void +check_changelog_setinfo(void) +{ + BLANK_LINE(); + CHECK_STRUCT(changelog_setinfo); + CHECK_MEMBER(changelog_setinfo, cs_recno); + CHECK_MEMBER(changelog_setinfo, cs_id); +} + +static void +check_llog_changelog_rec(void) +{ + BLANK_LINE(); + 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); +} + +static void +check_llog_changelog_user_rec(void) +{ + BLANK_LINE(); + CHECK_STRUCT(llog_changelog_user_rec); + CHECK_MEMBER(llog_changelog_user_rec, cur_hdr); + CHECK_MEMBER(llog_changelog_user_rec, cur_id); + CHECK_MEMBER(llog_changelog_user_rec, cur_padding); + CHECK_MEMBER(llog_changelog_user_rec, cur_endrec); + CHECK_MEMBER(llog_changelog_user_rec, cur_tail); +} + +static void check_llog_gen(void) { BLANK_LINE(); @@ -952,6 +1489,8 @@ check_llogd_body(void) CHECK_CVALUE(LLOG_CATINFO); CHECK_CVALUE(LLOG_ORIGIN_HANDLE_PREV_BLOCK); CHECK_CVALUE(LLOG_ORIGIN_HANDLE_DESTROY); + CHECK_CVALUE(LLOG_FIRST_OPC); + CHECK_CVALUE(LLOG_LAST_OPC); } static void @@ -965,23 +1504,13 @@ check_llogd_conn_body(void) } static void -check_mds_extent_desc(void) -{ - BLANK_LINE(); - CHECK_STRUCT(mds_extent_desc); - CHECK_MEMBER(mds_extent_desc, med_start); - CHECK_MEMBER(mds_extent_desc, med_len); - CHECK_MEMBER(mds_extent_desc, med_lmm); -} - -static void -check_llog_array_rec(void) +check_ll_fiemap_info_key(void) { BLANK_LINE(); - CHECK_STRUCT(llog_array_rec); - CHECK_MEMBER(llog_array_rec, lmr_hdr); - CHECK_MEMBER(llog_array_rec, lmr_med); - CHECK_MEMBER(llog_array_rec, lmr_tail); + 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); } static void @@ -992,17 +1521,8 @@ check_qunit_data(void) CHECK_MEMBER(qunit_data, qd_id); CHECK_MEMBER(qunit_data, qd_flags); CHECK_MEMBER(qunit_data, qd_count); -} - -static void -check_qunit_data_old(void) -{ - BLANK_LINE(); - CHECK_STRUCT(qunit_data_old); - CHECK_MEMBER(qunit_data_old, qd_id); - CHECK_MEMBER(qunit_data_old, qd_type); - CHECK_MEMBER(qunit_data_old, qd_count); - CHECK_MEMBER(qunit_data_old, qd_isblk); + CHECK_MEMBER(qunit_data, qd_qunit); + CHECK_MEMBER(qunit_data, padding); } static void @@ -1015,6 +1535,7 @@ check_mgs_target_info(void) CHECK_MEMBER(mgs_target_info, mti_config_ver); CHECK_MEMBER(mgs_target_info, mti_flags); CHECK_MEMBER(mgs_target_info, mti_nid_count); + CHECK_MEMBER(mgs_target_info, mti_instance); CHECK_MEMBER(mgs_target_info, mti_fsname); CHECK_MEMBER(mgs_target_info, mti_svname); CHECK_MEMBER(mgs_target_info, mti_uuid); @@ -1023,6 +1544,47 @@ check_mgs_target_info(void) } static void +check_lustre_capa(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lustre_capa); + CHECK_MEMBER(lustre_capa, lc_fid); + CHECK_MEMBER(lustre_capa, lc_opc); + CHECK_MEMBER(lustre_capa, lc_uid); + CHECK_MEMBER(lustre_capa, lc_gid); + CHECK_MEMBER(lustre_capa, lc_flags); + CHECK_MEMBER(lustre_capa, lc_keyid); + CHECK_MEMBER(lustre_capa, lc_timeout); + CHECK_MEMBER(lustre_capa, lc_expiry); + CHECK_CVALUE(CAPA_HMAC_MAX_LEN); + CHECK_MEMBER(lustre_capa, lc_hmac[CAPA_HMAC_MAX_LEN]); +} + +static void +check_lustre_capa_key(void) +{ + BLANK_LINE(); + CHECK_STRUCT(lustre_capa_key); + CHECK_MEMBER(lustre_capa_key, lk_seq); + CHECK_MEMBER(lustre_capa_key, lk_keyid); + CHECK_MEMBER(lustre_capa_key, lk_padding); + CHECK_CVALUE(CAPA_HMAC_KEY_MAX_LEN); + CHECK_MEMBER(lustre_capa_key, lk_key[CAPA_HMAC_KEY_MAX_LEN]); +} + +static void +check_getinfo_fid2path(void) +{ + BLANK_LINE(); + CHECK_STRUCT(getinfo_fid2path); + CHECK_MEMBER(getinfo_fid2path, gf_fid); + CHECK_MEMBER(getinfo_fid2path, gf_recno); + CHECK_MEMBER(getinfo_fid2path, gf_linkno); + CHECK_MEMBER(getinfo_fid2path, gf_pathlen); + CHECK_MEMBER(getinfo_fid2path, gf_path[0]); +} + +static void check_lustre_disk_data(void) { BLANK_LINE(); @@ -1063,17 +1625,29 @@ check_posix_acl_xattr_header(void) } static void +check_quota_adjust_qunit(void) +{ + BLANK_LINE(); + CHECK_STRUCT(quota_adjust_qunit); + CHECK_MEMBER(quota_adjust_qunit, qaq_flags); + CHECK_MEMBER(quota_adjust_qunit, qaq_id); + CHECK_MEMBER(quota_adjust_qunit, qaq_bunit_sz); + CHECK_MEMBER(quota_adjust_qunit, qaq_iunit_sz); + CHECK_MEMBER(quota_adjust_qunit, padding1); +} + +static void check_ll_user_fiemap(void) { BLANK_LINE(); - CHECK_STRUCT_TYPEDEF(ll_user_fiemap); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_start); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_length); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_flags); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_mapped_extents); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extent_count); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_reserved); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extents); + 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_CDEFINE(FIEMAP_FLAG_SYNC); CHECK_CDEFINE(FIEMAP_FLAG_XATTR); @@ -1084,26 +1658,81 @@ static void check_ll_fiemap_extent(void) { BLANK_LINE(); - CHECK_STRUCT_TYPEDEF(ll_fiemap_extent); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_logical); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_physical); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_length); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_flags); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_device); + 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_CDEFINE(FIEMAP_EXTENT_LAST); CHECK_CDEFINE(FIEMAP_EXTENT_UNKNOWN); CHECK_CDEFINE(FIEMAP_EXTENT_DELALLOC); - CHECK_CDEFINE(FIEMAP_EXTENT_NO_DIRECT); - CHECK_CDEFINE(FIEMAP_EXTENT_SECONDARY); - CHECK_CDEFINE(FIEMAP_EXTENT_NET); - CHECK_CDEFINE(FIEMAP_EXTENT_DATA_COMPRESSED); + CHECK_CDEFINE(FIEMAP_EXTENT_ENCODED); CHECK_CDEFINE(FIEMAP_EXTENT_DATA_ENCRYPTED); CHECK_CDEFINE(FIEMAP_EXTENT_NOT_ALIGNED); CHECK_CDEFINE(FIEMAP_EXTENT_DATA_INLINE); CHECK_CDEFINE(FIEMAP_EXTENT_DATA_TAIL); CHECK_CDEFINE(FIEMAP_EXTENT_UNWRITTEN); CHECK_CDEFINE(FIEMAP_EXTENT_MERGED); + CHECK_CDEFINE(FIEMAP_EXTENT_NO_DIRECT); + CHECK_CDEFINE(FIEMAP_EXTENT_NET); +} + +static void +check_link_ea_header(void) +{ + BLANK_LINE(); + CHECK_STRUCT(link_ea_header); + CHECK_MEMBER(link_ea_header, leh_magic); + CHECK_MEMBER(link_ea_header, leh_reccount); + CHECK_MEMBER(link_ea_header, leh_len); + CHECK_MEMBER(link_ea_header, padding1); + CHECK_MEMBER(link_ea_header, padding2); + + CHECK_CDEFINE(LINK_EA_MAGIC); +} + +static void +check_link_ea_entry(void) +{ + BLANK_LINE(); + CHECK_STRUCT(link_ea_entry); + CHECK_MEMBER(link_ea_entry, lee_reclen); + CHECK_MEMBER(link_ea_entry, lee_parent_fid); + CHECK_MEMBER(link_ea_entry, lee_name); +} + +static void +check_hsm_user_item(void) +{ + BLANK_LINE(); + CHECK_STRUCT(hsm_user_item); + CHECK_MEMBER(hsm_user_item, hui_fid); + CHECK_MEMBER(hsm_user_item, hui_extent); +} + +static void +check_hsm_user_request(void) +{ + BLANK_LINE(); + CHECK_STRUCT(hsm_user_request); + CHECK_MEMBER(hsm_user_request, hur_action); + CHECK_MEMBER(hsm_user_request, hur_archive_num); + CHECK_MEMBER(hsm_user_request, hur_itemcount); + CHECK_MEMBER(hsm_user_request, hur_data_len); +} + +static void +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_in_progress_state); + CHECK_MEMBER(hsm_user_state, hus_in_progress_action); + CHECK_MEMBER(hsm_user_state, hus_in_progress_location); } static void @@ -1177,21 +1806,15 @@ main(int argc, char **argv) BLANK_LINE (); COMMENT("Constants..."); - CHECK_DEFINE(LUSTRE_MSG_MAGIC_V2); - CHECK_DEFINE(PTLRPC_MSG_VERSION); - CHECK_VALUE(MSGHDR_AT_SUPPORT); - CHECK_VALUE(PTL_RPC_MSG_REQUEST); CHECK_VALUE(PTL_RPC_MSG_ERR); CHECK_VALUE(PTL_RPC_MSG_REPLY); - CHECK_VALUE(MSG_LAST_REPLAY); - CHECK_VALUE(MSG_RESENT); - CHECK_VALUE(MSG_REPLAY); + CHECK_DEFINE_64X(MDS_DIR_END_OFF); - CHECK_VALUE(MSG_CONNECT_RECOVERING); - CHECK_VALUE(MSG_CONNECT_RECONNECT); - CHECK_VALUE(MSG_CONNECT_REPLAYABLE); + CHECK_DEFINE_64X(DEAD_HANDLE_MAGIC); + + CHECK_CVALUE(MTI_NAME_MAXLEN); CHECK_VALUE(OST_REPLY); CHECK_VALUE(OST_GETATTR); @@ -1208,12 +1831,21 @@ main(int argc, char **argv) CHECK_VALUE(OST_CLOSE); CHECK_VALUE(OST_STATFS); CHECK_VALUE(OST_SYNC); + CHECK_VALUE(OST_SET_INFO); CHECK_VALUE(OST_QUOTACHECK); CHECK_VALUE(OST_QUOTACTL); + CHECK_VALUE(OST_QUOTA_ADJUST_QUNIT); CHECK_VALUE(OST_LAST_OPC); - CHECK_DEFINE(OBD_OBJECT_EOF); + CHECK_DEFINE_64X(OBD_OBJECT_EOF); + + CHECK_VALUE(OST_MIN_PRECREATE); + CHECK_VALUE(OST_MAX_PRECREATE); + CHECK_DEFINE_64X(OST_LVB_ERR_INIT); + CHECK_DEFINE_64X(OST_LVB_ERR_MASK); + + CHECK_VALUE(MDS_FIRST_OPC); CHECK_VALUE(MDS_GETATTR); CHECK_VALUE(MDS_GETATTR_NAME); CHECK_VALUE(MDS_CLOSE); @@ -1230,6 +1862,11 @@ main(int argc, char **argv) CHECK_VALUE(MDS_SET_INFO); CHECK_VALUE(MDS_QUOTACHECK); CHECK_VALUE(MDS_QUOTACTL); + CHECK_VALUE(MDS_GETXATTR); + CHECK_VALUE(MDS_SETXATTR); + CHECK_VALUE(MDS_WRITEPAGE); + CHECK_VALUE(MDS_IS_SUBDIR); + CHECK_VALUE(MDS_GET_INFO); CHECK_VALUE(MDS_LAST_OPC); CHECK_VALUE(REINT_SETATTR); @@ -1238,33 +1875,83 @@ main(int argc, char **argv) CHECK_VALUE(REINT_UNLINK); CHECK_VALUE(REINT_RENAME); CHECK_VALUE(REINT_OPEN); + CHECK_VALUE(REINT_SETXATTR); CHECK_VALUE(REINT_MAX); - CHECK_VALUE(MGS_CONNECT); - CHECK_VALUE(MGS_DISCONNECT); - CHECK_VALUE(MGS_EXCEPTION); - CHECK_VALUE(MGS_TARGET_REG); - CHECK_VALUE(MGS_TARGET_DEL); - CHECK_VALUE(MGS_SET_INFO); - - CHECK_VALUE(DISP_IT_EXECD); - CHECK_VALUE(DISP_LOOKUP_EXECD); - CHECK_VALUE(DISP_LOOKUP_NEG); - CHECK_VALUE(DISP_LOOKUP_POS); - CHECK_VALUE(DISP_OPEN_CREATE); - CHECK_VALUE(DISP_OPEN_OPEN); + CHECK_VALUE_X(DISP_IT_EXECD); + CHECK_VALUE_X(DISP_LOOKUP_EXECD); + CHECK_VALUE_X(DISP_LOOKUP_NEG); + CHECK_VALUE_X(DISP_LOOKUP_POS); + CHECK_VALUE_X(DISP_OPEN_CREATE); + CHECK_VALUE_X(DISP_OPEN_OPEN); + CHECK_VALUE_X(DISP_ENQ_COMPLETE); + CHECK_VALUE_X(DISP_ENQ_OPEN_REF); + CHECK_VALUE_X(DISP_ENQ_CREATE_REF); + CHECK_VALUE_X(DISP_OPEN_LOCK); 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(LQUOTA_FLAGS_GRP); + CHECK_VALUE(LQUOTA_FLAGS_BLK); + CHECK_VALUE(LQUOTA_FLAGS_ADJBLK); + CHECK_VALUE(LQUOTA_FLAGS_ADJINO); + CHECK_VALUE(LQUOTA_FLAGS_CHG_QS); + CHECK_VALUE(LQUOTA_FLAGS_RECOVERY); + CHECK_VALUE(LQUOTA_FLAGS_SETQUOTA); + + CHECK_VALUE_X(LQUOTA_QAQ_CREATE_LQS); + + CHECK_VALUE_64X(MDS_ATTR_MODE); + CHECK_VALUE_64X(MDS_ATTR_UID); + CHECK_VALUE_64X(MDS_ATTR_GID); + CHECK_VALUE_64X(MDS_ATTR_SIZE); + CHECK_VALUE_64X(MDS_ATTR_ATIME); + CHECK_VALUE_64X(MDS_ATTR_MTIME); + CHECK_VALUE_64X(MDS_ATTR_CTIME); + CHECK_VALUE_64X(MDS_ATTR_ATIME_SET); + CHECK_VALUE_64X(MDS_ATTR_MTIME_SET); + CHECK_VALUE_64X(MDS_ATTR_FORCE); + CHECK_VALUE_64X(MDS_ATTR_ATTR_FLAG); + CHECK_VALUE_64X(MDS_ATTR_KILL_SUID); + CHECK_VALUE_64X(MDS_ATTR_KILL_SGID); + CHECK_VALUE_64X(MDS_ATTR_CTIME_SET); + CHECK_VALUE_64X(MDS_ATTR_FROM_OPEN); + CHECK_VALUE_64X(MDS_ATTR_BLOCKS); + + CHECK_VALUE(FLD_QUERY); + CHECK_VALUE(FLD_FIRST_OPC); + CHECK_VALUE(FLD_LAST_OPC); + + CHECK_VALUE(SEQ_QUERY); + CHECK_VALUE(SEQ_FIRST_OPC); + CHECK_VALUE(SEQ_LAST_OPC); + + CHECK_VALUE(SEQ_ALLOC_SUPER); + CHECK_VALUE(SEQ_ALLOC_META); + CHECK_VALUE(LDLM_ENQUEUE); CHECK_VALUE(LDLM_CONVERT); CHECK_VALUE(LDLM_CANCEL); CHECK_VALUE(LDLM_BL_CALLBACK); CHECK_VALUE(LDLM_CP_CALLBACK); CHECK_VALUE(LDLM_GL_CALLBACK); + CHECK_VALUE(LDLM_SET_INFO); CHECK_VALUE(LDLM_LAST_OPC); + CHECK_VALUE(LCK_MINMODE); CHECK_VALUE(LCK_EX); CHECK_VALUE(LCK_PW); CHECK_VALUE(LCK_PR); @@ -1272,6 +1959,7 @@ main(int argc, char **argv) CHECK_VALUE(LCK_CR); CHECK_VALUE(LCK_NL); CHECK_VALUE(LCK_GROUP); + CHECK_VALUE(LCK_COS); CHECK_VALUE(LCK_MAXMODE); CHECK_VALUE(LCK_MODE_NUM); @@ -1279,6 +1967,12 @@ main(int argc, char **argv) CHECK_CVALUE(LDLM_EXTENT); CHECK_CVALUE(LDLM_FLOCK); CHECK_CVALUE(LDLM_IBITS); + CHECK_CVALUE(LDLM_MAX_TYPE); + + 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_CVALUE(LUSTRE_RES_ID_HSH_OFF); CHECK_VALUE(OBD_PING); CHECK_VALUE(OBD_LOG_CANCEL); @@ -1287,49 +1981,69 @@ main(int argc, char **argv) CHECK_VALUE(QUOTA_DQACQ); CHECK_VALUE(QUOTA_DQREL); + CHECK_VALUE(QUOTA_LAST_OPC); CHECK_VALUE(MGS_CONNECT); CHECK_VALUE(MGS_DISCONNECT); - CHECK_VALUE(MGS_EXCEPTION); + CHECK_VALUE(MGS_EXCEPTION); CHECK_VALUE(MGS_TARGET_REG); CHECK_VALUE(MGS_TARGET_DEL); CHECK_VALUE(MGS_SET_INFO); + CHECK_VALUE(MGS_LAST_OPC); + + CHECK_VALUE(SEC_CTX_INIT); + CHECK_VALUE(SEC_CTX_INIT_CONT); + CHECK_VALUE(SEC_CTX_FINI); + CHECK_VALUE(SEC_LAST_OPC); COMMENT("Sizes and Offsets"); BLANK_LINE(); CHECK_STRUCT(obd_uuid); + check_lu_seq_range(); + check_lustre_mdt_attrs(); + check_ost_id(); + check_lu_dirent(); + check_luda_type(); + check_lu_dirpage(); check_lustre_handle(); check_lustre_msg_v2(); check_ptlrpc_body(); check_obd_connect_data(); check_obdo(); + check_lov_ost_data_v1(); check_lov_mds_md_v1(); - check_lov_mds_md_join(); + check_lov_mds_md_v3(); check_obd_statfs(); check_obd_ioobj(); check_obd_quotactl(); check_niobuf_remote(); check_ost_body(); check_ll_fid(); - check_mds_status_req(); - check_mds_body(); - check_mds_rec_setattr(); - check_mds_rec_create(); - check_mds_rec_link(); - check_mds_rec_unlink(); - check_mds_rec_rename(); - check_mds_rec_join(); + check_mdt_body(); + check_mdt_ioepoch(); + check_mdt_remote_perm(); + check_mdt_rec_setattr(); + check_mdt_rec_create(); + check_mdt_rec_link(); + check_mdt_rec_unlink(); + check_mdt_rec_rename(); + 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(); - check_ldlm_flock(); check_ldlm_inodebits(); + check_ldlm_flock(); check_ldlm_intent(); check_ldlm_resource_desc(); check_ldlm_lock_desc(); check_ldlm_request(); check_ldlm_reply(); check_ldlm_lvb(); + check_mgs_send_param(); + check_cfg_marker(); check_llog_logid(); check_llog_catid(); check_llog_rec_hdr(); @@ -1339,29 +2053,40 @@ main(int argc, char **argv) check_llog_orphan_rec(); check_llog_unlink_rec(); check_llog_setattr_rec(); + check_llog_setattr64_rec(); check_llog_size_change_rec(); + check_changelog_rec(); + check_changelog_setinfo(); + check_llog_changelog_rec(); + check_llog_changelog_user_rec(); check_llog_gen(); check_llog_gen_rec(); check_llog_log_hdr(); check_llog_cookie(); check_llogd_body(); check_llogd_conn_body(); - check_llog_array_rec(); - check_mds_extent_desc(); + check_ll_fiemap_info_key(); check_qunit_data(); - check_qunit_data_old(); + check_quota_adjust_qunit(); check_mgs_target_info(); + check_lustre_capa(); + check_lustre_capa_key(); + check_getinfo_fid2path(); check_lustre_disk_data(); + 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(); - check_ll_user_fiemap(); - check_ll_fiemap_extent(); printf("#endif\n"); - + check_link_ea_header(); + check_link_ea_entry(); + check_hsm_user_item(); + check_hsm_user_request(); + check_hsm_user_state(); printf("}\n\n");