* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2011, 2016, Intel Corporation.
+ * Copyright (c) 2011, 2017, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
-#include <lustre/lustre_idl.h>
-#include <lustre/lustre_lfsck_user.h>
-#include <lustre_disk.h>
+#include <linux/lustre/lustre_idl.h>
+#include <linux/lustre/lustre_access_log.h>
+#include <linux/lustre/lustre_lfsck_user.h>
+#include <linux/lustre/lustre_disk.h>
+#include <linux/lustre/lustre_cfg.h>
#define BLANK_LINE() \
do { \
#define STRINGIFY(a) #a
#define CHECK_CDEFINE(a) \
- printf(" CLASSERT("#a" == "STRINGIFY(a) ");\n")
+ printf(" BUILD_BUG_ON("#a" != "STRINGIFY(a) ");\n")
#define CHECK_CVALUE(a) \
- printf(" CLASSERT("#a" == %lld);\n", (long long)a)
+ printf(" BUILD_BUG_ON("#a" != %lld);\n", (long long)a)
#define CHECK_CVALUE_X(a) \
- printf(" CLASSERT("#a" == 0x%.8x);\n", a)
+ printf(" BUILD_BUG_ON("#a" != 0x%.8x);\n", a)
#define CHECK_DEFINE(a) \
do { \
CHECK_MEMBER(lustre_mdt_attrs, lma_compat);
CHECK_MEMBER(lustre_mdt_attrs, lma_incompat);
CHECK_MEMBER(lustre_mdt_attrs, lma_self_fid);
+
+ CHECK_VALUE_X(LMAC_HSM);
+ CHECK_VALUE_X(LMAC_NOT_IN_OI);
+ CHECK_VALUE_X(LMAC_FID_ON_OST);
+ CHECK_VALUE_X(LMAC_STRIPE_INFO);
+ CHECK_VALUE_X(LMAC_COMP_INFO);
+ CHECK_VALUE_X(LMAC_IDX_BACKUP);
+
CHECK_VALUE_X(LMAI_RELEASED);
CHECK_VALUE_X(LMAI_AGENT);
CHECK_VALUE_X(LMAI_REMOTE_PARENT);
CHECK_VALUE_X(LMAI_STRIPED);
CHECK_VALUE_X(LMAI_ORPHAN);
+ CHECK_VALUE_X(LMAI_ENCRYPT);
+}
- CHECK_VALUE_X(LMAC_HSM);
- CHECK_VALUE_X(LMAC_NOT_IN_OI);
- CHECK_VALUE_X(LMAC_FID_ON_OST);
+static void
+check_lustre_ost_attrs(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lustre_ost_attrs);
+ CHECK_MEMBER(lustre_ost_attrs, loa_lma);
+ CHECK_MEMBER(lustre_ost_attrs, loa_parent_fid);
+ CHECK_MEMBER(lustre_ost_attrs, loa_stripe_size);
+ CHECK_MEMBER(lustre_ost_attrs, loa_comp_id);
+ CHECK_MEMBER(lustre_ost_attrs, loa_comp_start);
+ CHECK_MEMBER(lustre_ost_attrs, loa_comp_end);
+}
+
+
+static void
+check_som_attrs(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lustre_som_attrs);
+ CHECK_MEMBER(lustre_som_attrs, lsa_valid);
+ CHECK_MEMBER(lustre_som_attrs, lsa_reserved);
+ CHECK_MEMBER(lustre_som_attrs, lsa_size);
+ CHECK_MEMBER(lustre_som_attrs, lsa_blocks);
}
static void
CHECK_VALUE(FID_SEQ_ECHO);
CHECK_VALUE(FID_SEQ_UNUSED_START);
CHECK_VALUE(FID_SEQ_UNUSED_END);
+ CHECK_VALUE(FID_SEQ_LLOG_NAME);
CHECK_VALUE(FID_SEQ_RSVD);
CHECK_VALUE(FID_SEQ_IGIF);
CHECK_VALUE_64X(FID_SEQ_IGIF_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_LOCAL_NAME);
CHECK_VALUE_64X(FID_SEQ_SPECIAL);
CHECK_VALUE_64X(FID_SEQ_QUOTA);
CHECK_VALUE_64X(FID_SEQ_QUOTA_GLB);
CHECK_VALUE_X(FID_OID_SPECIAL_BFL);
CHECK_VALUE_X(FID_OID_DOT_LUSTRE);
CHECK_VALUE_X(FID_OID_DOT_LUSTRE_OBF);
+ CHECK_VALUE_X(FID_OID_DOT_LUSTRE_LPF);
}
static void
CHECK_MEMBER(lu_ladvise, lla_value4);
CHECK_VALUE(LU_LADVISE_WILLREAD);
CHECK_VALUE(LU_LADVISE_DONTNEED);
+ CHECK_VALUE(LU_LADVISE_LOCKNOEXPAND);
+ CHECK_VALUE(LU_LADVISE_LOCKAHEAD);
}
static void
CHECK_MEMBER(ladvise_hdr, lah_value3);
CHECK_MEMBER(ladvise_hdr, lah_advise);
- CHECK_VALUE(LF_ASYNC);
- CHECK_VALUE(LADVISE_MAGIC);
+ CHECK_CVALUE_X(LF_ASYNC);
+ CHECK_CVALUE_X(LF_UNSET);
+ CHECK_CVALUE_X(LADVISE_MAGIC);
}
static void
CHECK_MEMBER(lustre_msg_v2, lm_padding_3);
CHECK_MEMBER(lustre_msg_v2, lm_buflens[0]);
- CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V2);
- CHECK_DEFINE_X(LUSTRE_MSG_MAGIC_V2_SWABBED);
+ CHECK_VALUE_X(LUSTRE_MSG_MAGIC_V2);
+ CHECK_VALUE_X(LUSTRE_MSG_MAGIC_V2_SWABBED);
}
static void
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_X(PTLRPC_MSG_VERSION);
+ CHECK_VALUE_X(LUSTRE_VERSION_MASK);
+ CHECK_VALUE_X(LUSTRE_OBD_VERSION);
+ CHECK_VALUE_X(LUSTRE_MDS_VERSION);
+ CHECK_VALUE_X(LUSTRE_OST_VERSION);
+ CHECK_VALUE_X(LUSTRE_DLM_VERSION);
+ CHECK_VALUE_X(LUSTRE_LOG_VERSION);
+ CHECK_VALUE_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_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);
}
* flag value is not in use on some other branch. Please clear any such
* changes with senior engineers before starting to use a new flag. Then,
* submit a small patch against EVERY branch that ONLY adds the new flag,
- * updates obd_connect_names[] for lprocfs_rd_connect_flags(), adds the
- * flag to check_obd_connect_data(), and updates wiretests accordingly, so it
- * can be approved and landed easily to reserve the flag for future use. */
+ * updates obd_connect_names[], insert new value in lustre_idl.h, and updates
+ * wiretests accordingly, so it can be approved and landed easily to reserve
+ * the flag for future use.
+ */
static void
check_obd_connect_data(void)
{
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_LARGE_ACL);
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_BARRIER);
CHECK_DEFINE_64X(OBD_CONNECT_ATTRFID);
CHECK_DEFINE_64X(OBD_CONNECT_NODEVOH);
CHECK_DEFINE_64X(OBD_CONNECT_RMT_CLIENT);
CHECK_DEFINE_64X(OBD_CONNECT_SHORTIO);
CHECK_DEFINE_64X(OBD_CONNECT_PINGLESS);
CHECK_DEFINE_64X(OBD_CONNECT_FLOCK_DEAD);
+ CHECK_DEFINE_64X(OBD_CONNECT_DISP_STRIPE);
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_LOCK_AHEAD);
CHECK_DEFINE_64X(OBD_CONNECT_BULK_MBITS);
CHECK_DEFINE_64X(OBD_CONNECT_OBDOPACK);
CHECK_DEFINE_64X(OBD_CONNECT_FLAGS2);
CHECK_DEFINE_64X(OBD_CONNECT2_FILE_SECCTX);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LOCKAHEAD);
+ CHECK_DEFINE_64X(OBD_CONNECT2_DIR_MIGRATE);
+ CHECK_DEFINE_64X(OBD_CONNECT2_SUM_STATFS);
+ CHECK_DEFINE_64X(OBD_CONNECT2_OVERSTRIPING);
+ CHECK_DEFINE_64X(OBD_CONNECT2_FLR);
+ CHECK_DEFINE_64X(OBD_CONNECT2_WBC_INTENTS);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LOCK_CONVERT);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ARCHIVE_ID_ARRAY);
+ CHECK_DEFINE_64X(OBD_CONNECT2_INC_XID);
+ CHECK_DEFINE_64X(OBD_CONNECT2_SELINUX_POLICY);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LSOM);
+ CHECK_DEFINE_64X(OBD_CONNECT2_PCC);
+ CHECK_DEFINE_64X(OBD_CONNECT2_CRUSH);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ASYNC_DISCARD);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ENCRYPT);
+ CHECK_DEFINE_64X(OBD_CONNECT2_FIDMAP);
+ CHECK_DEFINE_64X(OBD_CONNECT2_GETATTR_PFID);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LSEEK);
+ CHECK_DEFINE_64X(OBD_CONNECT2_DOM_LVB);
+ CHECK_DEFINE_64X(OBD_CONNECT2_REP_MBITS);
+ CHECK_DEFINE_64X(OBD_CONNECT2_MODE_CONVERT);
+ CHECK_DEFINE_64X(OBD_CONNECT2_BATCH_RPC);
+ CHECK_DEFINE_64X(OBD_CONNECT2_PCCRO);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ATOMIC_OPEN_LOCK);
CHECK_VALUE_X(OBD_CKSUM_CRC32);
CHECK_VALUE_X(OBD_CKSUM_ADLER);
CHECK_VALUE_X(OBD_CKSUM_CRC32C);
+ CHECK_VALUE_X(OBD_CKSUM_RESERVED);
+ CHECK_VALUE_X(OBD_CKSUM_T10IP512);
+ CHECK_VALUE_X(OBD_CKSUM_T10IP4K);
+ CHECK_VALUE_X(OBD_CKSUM_T10CRC512);
+ CHECK_VALUE_X(OBD_CKSUM_T10CRC4K);
+ CHECK_VALUE_X(OBD_CKSUM_T10_TOP);
+}
+
+static void
+check_ost_layout(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(ost_layout);
+ CHECK_MEMBER(ost_layout, ol_stripe_size);
+ CHECK_MEMBER(ost_layout, ol_stripe_count);
+ CHECK_MEMBER(ost_layout, ol_comp_start);
+ CHECK_MEMBER(ost_layout, ol_comp_end);
+ CHECK_MEMBER(ost_layout, ol_comp_id);
}
static void
CHECK_MEMBER(obdo, o_stripe_idx);
CHECK_MEMBER(obdo, o_parent_ver);
CHECK_MEMBER(obdo, o_handle);
- CHECK_MEMBER(obdo, o_lcookie);
+ CHECK_MEMBER(obdo, o_layout);
+ CHECK_MEMBER(obdo, o_layout_version);
CHECK_MEMBER(obdo, o_uid_h);
CHECK_MEMBER(obdo, o_gid_h);
CHECK_MEMBER(obdo, o_data_version);
+ CHECK_MEMBER(obdo, o_projid);
CHECK_MEMBER(obdo, o_padding_4);
CHECK_MEMBER(obdo, o_padding_5);
CHECK_MEMBER(obdo, o_padding_6);
CHECK_DEFINE_64X(OBD_MD_FLUID);
CHECK_DEFINE_64X(OBD_MD_FLGID);
CHECK_DEFINE_64X(OBD_MD_FLFLAGS);
+ CHECK_DEFINE_64X(OBD_MD_DOM_SIZE);
CHECK_DEFINE_64X(OBD_MD_FLNLINK);
- CHECK_DEFINE_64X(OBD_MD_FLGENER);
+ CHECK_DEFINE_64X(OBD_MD_FLPARENT);
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_FLPRJQUOTA);
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_TSTATE);
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_FLMDSCAPA);
- CHECK_DEFINE_64X(OBD_MD_FLOSSCAPA);
- CHECK_DEFINE_64X(OBD_MD_FLCKSPLIT);
+ CHECK_DEFINE_64X(OBD_MD_FLAGSTATFS);
CHECK_DEFINE_64X(OBD_MD_FLCROSSREF);
CHECK_DEFINE_64X(OBD_MD_FLGETATTRLOCK);
+ CHECK_DEFINE_64X(OBD_MD_FLOBJCOUNT);
CHECK_DEFINE_64X(OBD_MD_FLDATAVERSION);
+ CHECK_DEFINE_64X(OBD_MD_CLOSE_INTENT_EXECED);
+ CHECK_DEFINE_64X(OBD_MD_DEFAULT_MEA);
+ CHECK_DEFINE_64X(OBD_MD_FLOSTLAYOUT);
+ CHECK_DEFINE_64X(OBD_MD_FLPROJID);
+ CHECK_DEFINE_64X(OBD_MD_SECCTX);
+ CHECK_DEFINE_64X(OBD_MD_FLLAZYSIZE);
+ CHECK_DEFINE_64X(OBD_MD_FLLAZYBLOCKS);
+ CHECK_DEFINE_64X(OBD_MD_ENCCTX);
CHECK_CVALUE_X(OBD_FL_INLINEDATA);
CHECK_CVALUE_X(OBD_FL_OBDMDEXISTS);
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_PRJQUOTA);
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_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_T10IP512);
+ CHECK_CVALUE_X(OBD_FL_CKSUM_T10IP4K);
+ CHECK_CVALUE_X(OBD_FL_CKSUM_T10CRC512);
+ CHECK_CVALUE_X(OBD_FL_CKSUM_T10CRC4K);
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_NOSPC_BLK);
CHECK_CVALUE_X(OBD_FL_FLUSH);
CHECK_CVALUE_X(OBD_FL_SHORT_IO);
- CHECK_CVALUE_X(OBD_FL_LOCAL_MASK);
}
static void
CHECK_VALUE_X(LOV_PATTERN_RAID0);
CHECK_VALUE_X(LOV_PATTERN_RAID1);
- CHECK_VALUE_X(LOV_PATTERN_FIRST);
- CHECK_VALUE_X(LOV_PATTERN_CMOBD);
+ CHECK_VALUE_X(LOV_PATTERN_MDT);
+ CHECK_VALUE_X(LOV_PATTERN_OVERSTRIPING);
+}
+
+static void
+check_lov_comp_md_entry_v1(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lov_comp_md_entry_v1);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_id);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_flags);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_extent);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_offset);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_size);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_layout_gen);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_timestamp);
+ CHECK_MEMBER(lov_comp_md_entry_v1, lcme_padding_1);
+
+ CHECK_CVALUE_X(LCME_FL_STALE);
+ CHECK_CVALUE_X(LCME_FL_PREF_RD);
+ CHECK_CVALUE_X(LCME_FL_PREF_WR);
+ CHECK_CVALUE_X(LCME_FL_PREF_RW);
+ CHECK_CVALUE_X(LCME_FL_OFFLINE);
+ CHECK_CVALUE_X(LCME_FL_INIT);
+ CHECK_CVALUE_X(LCME_FL_NOSYNC);
+ CHECK_CVALUE_X(LCME_FL_EXTENSION);
+ CHECK_CVALUE_X(LCME_FL_NEG);
+}
+
+static void
+check_lov_comp_md_v1(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lov_comp_md_v1);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_magic);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_size);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_layout_gen);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_flags);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_entry_count);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_mirror_count);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_padding1);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_padding2);
+ CHECK_MEMBER(lov_comp_md_v1, lcm_entries[0]);
+
+ CHECK_CDEFINE(LOV_MAGIC_COMP_V1);
+
+ CHECK_VALUE(LCM_FL_NONE);
+ CHECK_VALUE(LCM_FL_RDONLY);
+ CHECK_VALUE(LCM_FL_WRITE_PENDING);
+ CHECK_VALUE(LCM_FL_SYNC_PENDING);
}
static void
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_migrate_offset);
+ CHECK_MEMBER(lmv_mds_md_v1, lmv_migrate_hash);
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_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_FIXED);
+ CHECK_CDEFINE(LMV_HASH_FLAG_MERGE);
+ CHECK_CDEFINE(LMV_HASH_FLAG_SPLIT);
CHECK_CDEFINE(LMV_HASH_FLAG_LOST_LMV);
+ CHECK_CDEFINE(LMV_HASH_FLAG_BAD_TYPE);
+ CHECK_CDEFINE(LMV_HASH_FLAG_MIGRATION);
+ CHECK_CDEFINE(LMV_CRUSH_PG_COUNT);
}
static void
CHECK_MEMBER(obd_statfs, os_blocks);
CHECK_MEMBER(obd_statfs, os_bfree);
CHECK_MEMBER(obd_statfs, os_bavail);
+ CHECK_MEMBER(obd_statfs, os_files);
CHECK_MEMBER(obd_statfs, os_ffree);
CHECK_MEMBER(obd_statfs, os_fsid);
CHECK_MEMBER(obd_statfs, os_bsize);
CHECK_MEMBER(obd_statfs, os_namelen);
+ CHECK_MEMBER(obd_statfs, os_maxbytes);
CHECK_MEMBER(obd_statfs, os_state);
CHECK_MEMBER(obd_statfs, os_fprecreated);
- CHECK_MEMBER(obd_statfs, os_spare2);
+ CHECK_MEMBER(obd_statfs, os_granted);
CHECK_MEMBER(obd_statfs, os_spare3);
CHECK_MEMBER(obd_statfs, os_spare4);
CHECK_MEMBER(obd_statfs, os_spare5);
CHECK_MEMBER(obd_statfs, os_spare7);
CHECK_MEMBER(obd_statfs, os_spare8);
CHECK_MEMBER(obd_statfs, os_spare9);
+
+ CHECK_VALUE_X(OS_STATFS_DEGRADED);
+ CHECK_VALUE_X(OS_STATFS_READONLY);
+ CHECK_VALUE_X(OS_STATFS_NOPRECREATE);
+ CHECK_VALUE_X(OS_STATFS_ENOSPC);
+ CHECK_VALUE_X(OS_STATFS_ENOINO);
+ CHECK_VALUE_X(OS_STATFS_SUM);
+ CHECK_VALUE_X(OS_STATFS_NONROT);
}
static void
CHECK_MEMBER(lu_idxpage, lip_pad0);
CHECK_CDEFINE(LIP_MAGIC);
- CHECK_VALUE(LIP_HDR_SIZE);
+ CHECK_CDEFINE(LIP_HDR_SIZE);
- CHECK_VALUE(II_FL_NOHASH);
- CHECK_VALUE(II_FL_VARKEY);
- CHECK_VALUE(II_FL_VARREC);
- CHECK_VALUE(II_FL_NONUNQ);
+ CHECK_CVALUE_X(II_FL_NOHASH);
+ CHECK_CVALUE_X(II_FL_VARKEY);
+ CHECK_CVALUE_X(II_FL_VARREC);
+ CHECK_CVALUE_X(II_FL_NONUNQ);
+ CHECK_CVALUE_X(II_FL_NOKEY);
}
static void
CHECK_DEFINE_X(OBD_BRW_READ);
CHECK_DEFINE_X(OBD_BRW_WRITE);
+ CHECK_DEFINE_X(OBD_BRW_NDELAY);
CHECK_DEFINE_X(OBD_BRW_SYNC);
CHECK_DEFINE_X(OBD_BRW_CHECK);
CHECK_DEFINE_X(OBD_BRW_FROM_GRANT);
CHECK_DEFINE_X(OBD_BRW_OVER_USRQUOTA);
CHECK_DEFINE_X(OBD_BRW_OVER_GRPQUOTA);
CHECK_DEFINE_X(OBD_BRW_SOFT_SYNC);
+ CHECK_DEFINE_X(OBD_BRW_OVER_PRJQUOTA);
+ CHECK_DEFINE_X(OBD_BRW_RDMA_ONLY);
}
static void
}
static void
+check_mds_op_bias(void)
+{
+ BLANK_LINE();
+ CHECK_VALUE_X(MDS_CROSS_REF);
+ CHECK_VALUE_X(MDS_PERM_BYPASS);
+ CHECK_VALUE_X(MDS_QUOTA_IGNORE);
+ CHECK_VALUE_X(MDS_KEEP_ORPHAN);
+ CHECK_VALUE_X(MDS_RECOV_OPEN);
+ CHECK_VALUE_X(MDS_DATA_MODIFIED);
+ CHECK_VALUE_X(MDS_CREATE_VOLATILE);
+ CHECK_VALUE_X(MDS_OWNEROVERRIDE);
+ CHECK_VALUE_X(MDS_HSM_RELEASE);
+ CHECK_VALUE_X(MDS_CLOSE_MIGRATE);
+ CHECK_VALUE_X(MDS_CLOSE_LAYOUT_SWAP);
+ CHECK_VALUE_X(MDS_CLOSE_LAYOUT_MERGE);
+ CHECK_VALUE_X(MDS_CLOSE_RESYNC_DONE);
+ CHECK_VALUE_X(MDS_CLOSE_LAYOUT_SPLIT);
+ CHECK_VALUE_X(MDS_TRUNC_KEEP_LEASE);
+ CHECK_VALUE_X(MDS_PCC_ATTACH);
+ CHECK_VALUE_X(MDS_CLOSE_UPDATE_TIMES);
+}
+
+static void
check_mdt_body(void)
{
BLANK_LINE();
CHECK_STRUCT(mdt_body);
CHECK_MEMBER(mdt_body, mbo_fid1);
CHECK_MEMBER(mdt_body, mbo_fid2);
- CHECK_MEMBER(mdt_body, mbo_handle);
+ CHECK_MEMBER(mdt_body, mbo_open_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_version);
CHECK_MEMBER(mdt_body, mbo_t_state);
CHECK_MEMBER(mdt_body, mbo_fsuid);
CHECK_MEMBER(mdt_body, mbo_fsgid);
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_layout_gen);
CHECK_MEMBER(mdt_body, mbo_suppgid);
CHECK_MEMBER(mdt_body, mbo_eadatasize);
CHECK_MEMBER(mdt_body, mbo_aclsize);
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_projid);
+ CHECK_MEMBER(mdt_body, mbo_dom_size);
+ CHECK_MEMBER(mdt_body, mbo_dom_blocks);
+ CHECK_MEMBER(mdt_body, mbo_btime);
CHECK_MEMBER(mdt_body, mbo_padding_9);
CHECK_MEMBER(mdt_body, mbo_padding_10);
CHECK_VALUE_O(MDS_FMODE_EXEC);
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_64O(MDS_OPEN_NORESTORE);
CHECK_VALUE_64O(MDS_OPEN_NEWSTRIPE);
CHECK_VALUE_64O(MDS_OPEN_VOLATILE);
+ CHECK_VALUE_64O(MDS_OPEN_LEASE);
+ CHECK_VALUE_64O(MDS_OPEN_RESYNC);
+ CHECK_VALUE_64O(MDS_OPEN_PCC);
/* these should be identical to their EXT3_*_FL counterparts, and
* are redefined only to avoid dragging in ext3_fs.h */
CHECK_VALUE_X(LUSTRE_ORPHAN_FL);
CHECK_VALUE_X(LUSTRE_DIRSYNC_FL);
CHECK_VALUE_X(LUSTRE_TOPDIR_FL);
- CHECK_VALUE_X(LUSTRE_DIRECTIO_FL);
CHECK_VALUE_X(LUSTRE_INLINE_DATA_FL);
+ CHECK_VALUE_X(LUSTRE_SET_SYNC_FL);
+ CHECK_VALUE_X(LUSTRE_ENCRYPT_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);
+ CHECK_VALUE_X(MDS_INODELOCK_LOOKUP);
+ CHECK_VALUE_X(MDS_INODELOCK_UPDATE);
+ CHECK_VALUE_X(MDS_INODELOCK_OPEN);
+ CHECK_VALUE_X(MDS_INODELOCK_LAYOUT);
+ CHECK_VALUE_X(MDS_INODELOCK_PERM);
+ CHECK_VALUE_X(MDS_INODELOCK_XATTR);
+ CHECK_VALUE_X(MDS_INODELOCK_DOM);
}
static void
{
BLANK_LINE();
CHECK_STRUCT(mdt_ioepoch);
- CHECK_MEMBER(mdt_ioepoch, mio_handle);
+ CHECK_MEMBER(mdt_ioepoch, mio_open_handle);
CHECK_MEMBER(mdt_ioepoch, mio_unused1);
CHECK_MEMBER(mdt_ioepoch, mio_unused2);
CHECK_MEMBER(mdt_ioepoch, mio_padding);
CHECK_MEMBER(mdt_rec_setattr, sa_attr_flags);
CHECK_MEMBER(mdt_rec_setattr, sa_mode);
CHECK_MEMBER(mdt_rec_setattr, sa_bias);
- CHECK_MEMBER(mdt_rec_setattr, sa_padding_3);
+ CHECK_MEMBER(mdt_rec_setattr, sa_projid);
CHECK_MEMBER(mdt_rec_setattr, sa_padding_4);
CHECK_MEMBER(mdt_rec_setattr, sa_padding_5);
}
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_open_handle_old);
CHECK_MEMBER(mdt_rec_create, cr_time);
CHECK_MEMBER(mdt_rec_create, cr_rdev);
CHECK_MEMBER(mdt_rec_create, cr_ioepoch);
}
static void
+check_mdt_rec_resync(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(mdt_rec_resync);
+ CHECK_MEMBER(mdt_rec_resync, rs_opcode);
+ CHECK_MEMBER(mdt_rec_resync, rs_cap);
+ CHECK_MEMBER(mdt_rec_resync, rs_fsuid);
+ CHECK_MEMBER(mdt_rec_resync, rs_fsuid_h);
+ CHECK_MEMBER(mdt_rec_resync, rs_fsgid);
+ CHECK_MEMBER(mdt_rec_resync, rs_fsgid_h);
+ CHECK_MEMBER(mdt_rec_resync, rs_suppgid1);
+ CHECK_MEMBER(mdt_rec_resync, rs_suppgid1_h);
+ CHECK_MEMBER(mdt_rec_resync, rs_suppgid2);
+ CHECK_MEMBER(mdt_rec_resync, rs_suppgid2_h);
+ CHECK_MEMBER(mdt_rec_resync, rs_fid);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding0);
+ CHECK_MEMBER(mdt_rec_resync, rs_lease_handle);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding1);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding2);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding3);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding4);
+ CHECK_MEMBER(mdt_rec_resync, rs_bias);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding5);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding6);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding7);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding8);
+ CHECK_MEMBER(mdt_rec_resync, rs_mirror_id);
+ CHECK_MEMBER(mdt_rec_resync, rs_padding9);
+}
+
+static void
check_mdt_rec_reint(void)
{
BLANK_LINE();
CHECK_MEMBER(mdt_rec_reint, rr_flags);
CHECK_MEMBER(mdt_rec_reint, rr_flags_h);
CHECK_MEMBER(mdt_rec_reint, rr_umask);
+ CHECK_MEMBER(mdt_rec_reint, rr_mirror_id);
CHECK_MEMBER(mdt_rec_reint, rr_padding_4);
}
BLANK_LINE();
CHECK_STRUCT(ldlm_inodebits);
CHECK_MEMBER(ldlm_inodebits, bits);
+ CHECK_MEMBER(ldlm_inodebits, try_bits);
+ CHECK_MEMBER(ldlm_inodebits, li_gid);
}
static 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);
+ CHECK_CVALUE_X(IT_OPEN);
+ CHECK_CVALUE_X(IT_CREAT);
+ CHECK_CVALUE_X(IT_READDIR);
+ CHECK_CVALUE_X(IT_GETATTR);
+ CHECK_CVALUE_X(IT_LOOKUP);
+ CHECK_CVALUE_X(IT_GETXATTR);
+ CHECK_CVALUE_X(IT_LAYOUT);
+ CHECK_CVALUE_X(IT_QUOTA_DQACQ);
+ CHECK_CVALUE_X(IT_QUOTA_CONN);
+ CHECK_CVALUE_X(IT_GLIMPSE);
+ CHECK_CVALUE_X(IT_BRW);
}
static void
CHECK_MEMBER(ldlm_gl_lquota_desc, gl_pad2);
}
+static void check_ldlm_gl_barrier_desc(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(ldlm_gl_barrier_desc);
+ CHECK_MEMBER(ldlm_gl_barrier_desc, lgbd_status);
+ CHECK_MEMBER(ldlm_gl_barrier_desc, lgbd_timeout);
+ CHECK_MEMBER(ldlm_gl_barrier_desc, lgbd_padding);
+}
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
+static void check_ldlm_barrier_lvb(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(barrier_lvb);
+ CHECK_MEMBER(barrier_lvb, lvb_status);
+ CHECK_MEMBER(barrier_lvb, lvb_index);
+ CHECK_MEMBER(barrier_lvb, lvb_padding);
+}
+
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 18, 53, 0)
static void
check_mgs_send_param(void)
{
CHECK_MEMBER(llog_logid, lgl_oi);
CHECK_MEMBER(llog_logid, lgl_ogen);
- CHECK_CVALUE(OST_SZ_REC);
- CHECK_CVALUE(MDS_UNLINK_REC);
- CHECK_CVALUE(MDS_UNLINK64_REC);
- CHECK_CVALUE(MDS_SETATTR64_REC);
- CHECK_CVALUE(OBD_CFG_REC);
- CHECK_CVALUE(LLOG_GEN_REC);
- CHECK_CVALUE(CHANGELOG_REC);
- CHECK_CVALUE(CHANGELOG_USER_REC);
- CHECK_CVALUE(LLOG_HDR_MAGIC);
- CHECK_CVALUE(LLOG_LOGID_MAGIC);
+ CHECK_CVALUE_X(OST_SZ_REC);
+ CHECK_CVALUE_X(MDS_UNLINK_REC);
+ CHECK_CVALUE_X(MDS_UNLINK64_REC);
+ CHECK_CVALUE_X(MDS_SETATTR64_REC);
+ CHECK_CVALUE_X(OBD_CFG_REC);
+ CHECK_CVALUE_X(LLOG_GEN_REC);
+ CHECK_CVALUE_X(CHANGELOG_REC);
+ CHECK_CVALUE_X(CHANGELOG_USER_REC);
+ CHECK_CVALUE_X(CHANGELOG_USER_REC2);
+ CHECK_CVALUE_X(HSM_AGENT_REC);
+ CHECK_CVALUE_X(UPDATE_REC);
+ CHECK_CVALUE_X(LLOG_HDR_MAGIC);
+ CHECK_CVALUE_X(LLOG_LOGID_MAGIC);
}
static void
CHECK_MEMBER(llog_setattr64_rec, lsr_gid_h);
CHECK_MEMBER(llog_setattr64_rec, lsr_valid);
CHECK_MEMBER(llog_setattr64_rec, lsr_tail);
+
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_hdr);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_oi);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_uid);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_uid_h);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_gid);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_gid_h);
+ CHECK_MEMBER_SAME(llog_setattr64_rec, llog_setattr64_rec_v2, lsr_valid);
+
+ CHECK_MEMBER(llog_setattr64_rec_v2, lsr_projid);
+ CHECK_MEMBER(llog_setattr64_rec_v2, lsr_layout_version);
+ CHECK_MEMBER(llog_setattr64_rec_v2, lsr_padding2);
+ CHECK_MEMBER(llog_setattr64_rec_v2, lsr_padding3);
+ CHECK_MEMBER(llog_setattr64_rec_v2, lsr_tail);
}
static void
{
BLANK_LINE();
CHECK_STRUCT(changelog_ext_jobid);
+ CHECK_CDEFINE(LUSTRE_JOBID_SIZE);
CHECK_MEMBER(changelog_ext_jobid, cr_jobid);
}
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_time);
CHECK_MEMBER(llog_changelog_user_rec, cur_endrec);
CHECK_MEMBER(llog_changelog_user_rec, cur_tail);
}
CHECK_MEMBER(llog_log_hdr, llh_flags);
CHECK_MEMBER(llog_log_hdr, llh_cat_idx);
CHECK_MEMBER(llog_log_hdr, llh_tgtuuid);
-}
-static void
-check_llog_cookie(void)
-{
- BLANK_LINE();
- CHECK_STRUCT(llog_cookie);
- CHECK_MEMBER(llog_cookie, lgc_lgl);
- CHECK_MEMBER(llog_cookie, lgc_subsys);
- CHECK_MEMBER(llog_cookie, lgc_index);
- CHECK_MEMBER(llog_cookie, lgc_padding);
+ CHECK_CVALUE_X(LLOG_F_ZAP_WHEN_EMPTY);
+ CHECK_CVALUE_X(LLOG_F_IS_CAT);
+ CHECK_CVALUE_X(LLOG_F_IS_PLAIN);
+ CHECK_CVALUE_X(LLOG_F_EXT_JOBID);
+ CHECK_CVALUE_X(LLOG_F_IS_FIXSIZE);
+ CHECK_CVALUE_X(LLOG_F_EXT_EXTRA_FLAGS);
+ CHECK_CVALUE_X(LLOG_F_EXT_X_UIDGID);
+ CHECK_CVALUE_X(LLOG_F_EXT_X_NID);
+ CHECK_CVALUE_X(LLOG_F_EXT_X_OMODE);
+ CHECK_CVALUE_X(LLOG_F_EXT_X_XATTR);
}
static void
CHECK_CVALUE(LLOG_ORIGIN_HANDLE_CREATE);
CHECK_CVALUE(LLOG_ORIGIN_HANDLE_NEXT_BLOCK);
CHECK_CVALUE(LLOG_ORIGIN_HANDLE_READ_HEADER);
- CHECK_CVALUE(LLOG_ORIGIN_HANDLE_WRITE_REC);
- CHECK_CVALUE(LLOG_ORIGIN_HANDLE_CLOSE);
- CHECK_CVALUE(LLOG_ORIGIN_CONNECT);
- 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
-check_lustre_capa(void)
+check_mgs_nidtbl_entry(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]);
+ CHECK_STRUCT(mgs_nidtbl_entry);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_version);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_instance);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_index);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_length);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_type);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_nid_type);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_nid_size);
+ CHECK_MEMBER(mgs_nidtbl_entry, mne_nid_count);
+ CHECK_MEMBER(mgs_nidtbl_entry, u.nids[0]);
}
static void
-check_lustre_capa_key(void)
+check_mgs_config_body(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]);
+ CHECK_STRUCT(mgs_config_body);
+ CHECK_MEMBER(mgs_config_body, mcb_name);
+ CHECK_MEMBER(mgs_config_body, mcb_offset);
+ CHECK_MEMBER(mgs_config_body, mcb_type);
+ CHECK_MEMBER(mgs_config_body, mcb_nm_cur_pass);
+ CHECK_MEMBER(mgs_config_body, mcb_bits);
+ CHECK_MEMBER(mgs_config_body, mcb_units);
+
+ CHECK_CVALUE(MGS_CFG_T_CONFIG);
+ CHECK_CVALUE(MGS_CFG_T_SPTLRPC);
+ CHECK_CVALUE(MGS_CFG_T_RECOVER);
+ CHECK_CVALUE(MGS_CFG_T_PARAMS);
+ CHECK_CVALUE(MGS_CFG_T_NODEMAP);
+ CHECK_CVALUE(MGS_CFG_T_BARRIER);
+}
+
+static void
+check_mgs_config_res(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(mgs_config_res);
+ CHECK_MEMBER(mgs_config_res, mcr_offset);
+ CHECK_MEMBER(mgs_config_res, mcr_size);
}
static void
printf("#ifdef CONFIG_FS_POSIX_ACL\n");
CHECK_STRUCT_TYPEDEF(posix_acl_xattr_header);
CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_version);
+ printf("#ifndef HAVE_STRUCT_POSIX_ACL_XATTR\n");
CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_entries);
+ printf("#endif /* HAVE_STRUCT_POSIX_ACL_XATTR */\n");
printf("#endif /* CONFIG_FS_POSIX_ACL */\n");
}
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_SHARED);
CHECK_CDEFINE(FIEMAP_EXTENT_NET);
}
static void check_layout_intent(void)
{
- BLANK_LINE();
- CHECK_STRUCT(layout_intent);
- CHECK_MEMBER(layout_intent, li_opc);
- CHECK_MEMBER(layout_intent, li_flags);
- CHECK_MEMBER(layout_intent, li_start);
- CHECK_MEMBER(layout_intent, li_end);
+ BLANK_LINE();
+ CHECK_STRUCT(layout_intent);
+ CHECK_MEMBER(layout_intent, li_opc);
+ CHECK_MEMBER(layout_intent, li_flags);
+ CHECK_MEMBER(layout_intent, li_extent);
CHECK_VALUE(LAYOUT_INTENT_ACCESS);
CHECK_VALUE(LAYOUT_INTENT_READ);
CHECK_MEMBER(hsm_state_set, hss_archive_id);
CHECK_MEMBER(hsm_state_set, hss_setmask);
CHECK_MEMBER(hsm_state_set, hss_clearmask);
+
+ CHECK_CVALUE(HSS_SETMASK);
+ CHECK_CVALUE(HSS_CLEARMASK);
+ CHECK_CVALUE(HSS_ARCHIVE_ID);
}
static void check_hsm_current_action(void)
CHECK_MEMBER(hsm_current_action, hca_state);
CHECK_MEMBER(hsm_current_action, hca_action);
CHECK_MEMBER(hsm_current_action, hca_location);
+
+ CHECK_CVALUE(HPS_NONE);
+ CHECK_CVALUE(HPS_WAITING);
+ CHECK_CVALUE(HPS_RUNNING);
+ CHECK_CVALUE(HPS_DONE);
+
+ CHECK_CVALUE(HUA_NONE);
+ CHECK_CVALUE(HUA_ARCHIVE);
+ CHECK_CVALUE(HUA_RESTORE);
+ CHECK_CVALUE(HUA_RELEASE);
+ CHECK_CVALUE(HUA_REMOVE);
+ CHECK_CVALUE(HUA_CANCEL);
}
static void check_hsm_request(void)
CHECK_MEMBER(object_update, ou_batchid);
CHECK_MEMBER(object_update, ou_fid);
CHECK_MEMBER(object_update, ou_params);
+
+ CHECK_CVALUE_X(UPDATE_FL_OST);
+ CHECK_CVALUE_X(UPDATE_FL_SYNC);
+ CHECK_CVALUE_X(UPDATE_FL_COMMITTED);
+ CHECK_CVALUE_X(UPDATE_FL_NOLOG);
}
static void check_object_update_request(void)
CHECK_MEMBER(object_update_request, ourq_count);
CHECK_MEMBER(object_update_request, ourq_padding);
CHECK_MEMBER(object_update_request, ourq_updates);
+
+ CHECK_CDEFINE(UPDATE_REQUEST_MAGIC);
}
static void check_object_update_result(void)
CHECK_MEMBER(object_update_reply, ourp_count);
CHECK_MEMBER(object_update_reply, ourp_padding);
CHECK_MEMBER(object_update_reply, ourp_lens);
+
+ CHECK_CDEFINE(UPDATE_REPLY_MAGIC);
}
static void check_out_update_header(void)
CHECK_MEMBER(out_update_header, ouh_inline_length);
CHECK_MEMBER(out_update_header, ouh_reply_size);
CHECK_MEMBER(out_update_header, ouh_inline_data);
+
+ CHECK_CDEFINE(OUT_UPDATE_HEADER_MAGIC);
+ CHECK_CDEFINE(OUT_UPDATE_MAX_INLINE_SIZE);
}
static void check_out_update_buffer(void)
{
BLANK_LINE();
CHECK_STRUCT(nodemap_cluster_rec);
- CHECK_MEMBER(nodemap_cluster_rec, ncr_name);
+ CHECK_CDEFINE(LUSTRE_NODEMAP_NAME_LENGTH);
+ CHECK_MEMBER(nodemap_cluster_rec, ncr_name[LUSTRE_NODEMAP_NAME_LENGTH + 1]);
CHECK_MEMBER(nodemap_cluster_rec, ncr_flags);
CHECK_MEMBER(nodemap_cluster_rec, ncr_padding1);
CHECK_MEMBER(nodemap_cluster_rec, ncr_padding2);
CHECK_UNION(nodemap_rec);
}
+static void check_ofd_access_entry_v1(void)
+{
+ BLANK_LINE();
+ CHECK_VALUE_X(OFD_ACCESS_READ);
+ CHECK_VALUE_X(OFD_ACCESS_WRITE);
+ CHECK_STRUCT(ofd_access_entry_v1);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_parent_fid);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_begin);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_end);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_time);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_size);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_segment_count);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_flags);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_reserved1);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_reserved2);
+ CHECK_MEMBER(ofd_access_entry_v1, oae_reserved3);
+}
+
+static void check_lustre_access_log_info_v1(void)
+{
+ BLANK_LINE();
+ CHECK_VALUE_X(LUSTRE_ACCESS_LOG_VERSION_1);
+ CHECK_VALUE_X(LUSTRE_ACCESS_LOG_TYPE_OFD);
+ CHECK_STRUCT(lustre_access_log_info_v1);
+ CHECK_MEMBER(lustre_access_log_info_v1, lali_version);
+ CHECK_MEMBER(lustre_access_log_info_v1, lali_type);
+ CHECK_MEMBER(lustre_access_log_info_v1, lali_name);
+ CHECK_MEMBER(lustre_access_log_info_v1, lali_log_size);
+ CHECK_MEMBER(lustre_access_log_info_v1, lali_entry_size);
+}
+
static void check_lfsck_request(void)
{
BLANK_LINE();
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_comp_id);
+ CHECK_MEMBER(lfsck_request, lr_padding_0);
CHECK_MEMBER(lfsck_request, lr_padding_1);
CHECK_MEMBER(lfsck_request, lr_padding_2);
-
+ CHECK_MEMBER(lfsck_request, lr_padding_3);
+ printf("#ifdef HAVE_SERVER_SUPPORT\n");
CHECK_VALUE_X(LFSCK_TYPE_SCRUB);
CHECK_VALUE_X(LFSCK_TYPE_LAYOUT);
CHECK_VALUE_X(LFSCK_TYPE_NAMESPACE);
-
+ printf("#endif\n");
CHECK_VALUE(LE_LASTID_REBUILDING);
CHECK_VALUE(LE_LASTID_REBUILT);
CHECK_VALUE(LE_PHASE1_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_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);
+ CHECK_MEMBER_OFFSET(update_op, uop_params_off);
}
static void check_update_ops(void)
CHECK_MEMBER(llog_update_record, lur_update_rec);
}
-static void system_string(char *cmdline, char *str, int len)
-{
- int fds[2];
- int rc;
- pid_t pid;
-
- rc = pipe(fds);
- if (rc != 0)
- abort();
-
- pid = fork();
- if (pid == 0) {
- /* child */
- int fd = fileno(stdout);
-
- rc = dup2(fds[1], fd);
- if (rc != fd)
- abort();
-
- exit(system(cmdline));
- /* notreached */
- } else if ((int)pid < 0) {
- abort();
- } else {
- FILE *f = fdopen(fds[0], "r");
-
- if (f == NULL)
- abort();
-
- close(fds[1]);
-
- if (fgets(str, len, f) == NULL)
- abort();
-
- if (waitpid(pid, &rc, 0) != pid)
- abort();
-
- if (!WIFEXITED(rc) || WEXITSTATUS(rc) != 0)
- abort();
-
- if (strnlen(str, len) == len)
- str[len - 1] = 0;
-
- if (str[strlen(str) - 1] == '\n')
- str[strlen(str) - 1] = 0;
-
- fclose(f);
- }
+static void
+check_lustre_cfg(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lustre_cfg);
+ CHECK_MEMBER(lustre_cfg, lcfg_version);
+ CHECK_MEMBER(lustre_cfg, lcfg_command);
+ CHECK_MEMBER(lustre_cfg, lcfg_num);
+ CHECK_MEMBER(lustre_cfg, lcfg_flags);
+ CHECK_MEMBER(lustre_cfg, lcfg_nid);
+ CHECK_MEMBER(lustre_cfg, lcfg_nal);
+ CHECK_MEMBER(lustre_cfg, lcfg_bufcount);
+ CHECK_MEMBER(lustre_cfg, lcfg_buflens[0]);
+
+ CHECK_VALUE_X(LCFG_ATTACH);
+ CHECK_VALUE_X(LCFG_DETACH);
+ CHECK_VALUE_X(LCFG_SETUP);
+ CHECK_VALUE_X(LCFG_CLEANUP);
+ CHECK_VALUE_X(LCFG_ADD_UUID);
+ CHECK_VALUE_X(LCFG_DEL_UUID);
+ CHECK_VALUE_X(LCFG_MOUNTOPT);
+ CHECK_VALUE_X(LCFG_DEL_MOUNTOPT);
+ CHECK_VALUE_X(LCFG_SET_TIMEOUT);
+ CHECK_VALUE_X(LCFG_SET_UPCALL);
+ CHECK_VALUE_X(LCFG_ADD_CONN);
+ CHECK_VALUE_X(LCFG_DEL_CONN);
+ CHECK_VALUE_X(LCFG_LOV_ADD_OBD);
+ CHECK_VALUE_X(LCFG_LOV_DEL_OBD);
+ CHECK_VALUE_X(LCFG_PARAM);
+ CHECK_VALUE_X(LCFG_MARKER);
+ CHECK_VALUE_X(LCFG_LOG_START);
+ CHECK_VALUE_X(LCFG_LOG_END);
+ CHECK_VALUE_X(LCFG_LOV_ADD_INA);
+ CHECK_VALUE_X(LCFG_ADD_MDC);
+ CHECK_VALUE_X(LCFG_DEL_MDC);
+ CHECK_VALUE_X(LCFG_SPTLRPC_CONF);
+ CHECK_VALUE_X(LCFG_POOL_NEW);
+ CHECK_VALUE_X(LCFG_POOL_ADD);
+ CHECK_VALUE_X(LCFG_POOL_REM);
+ CHECK_VALUE_X(LCFG_POOL_DEL);
+ CHECK_VALUE_X(LCFG_SET_LDLM_TIMEOUT);
+ CHECK_VALUE_X(LCFG_PRE_CLEANUP);
+ CHECK_VALUE_X(LCFG_SET_PARAM);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADD);
+ CHECK_VALUE_X(LCFG_NODEMAP_DEL);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADD_RANGE);
+ CHECK_VALUE_X(LCFG_NODEMAP_DEL_RANGE);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADD_UIDMAP);
+ CHECK_VALUE_X(LCFG_NODEMAP_DEL_UIDMAP);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADD_GIDMAP);
+ CHECK_VALUE_X(LCFG_NODEMAP_DEL_GIDMAP);
+ CHECK_VALUE_X(LCFG_NODEMAP_ACTIVATE);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADMIN);
+ CHECK_VALUE_X(LCFG_NODEMAP_TRUSTED);
+ CHECK_VALUE_X(LCFG_NODEMAP_SQUASH_UID);
+ CHECK_VALUE_X(LCFG_NODEMAP_SQUASH_GID);
+ CHECK_VALUE_X(LCFG_NODEMAP_ADD_SHKEY);
+ CHECK_VALUE_X(LCFG_NODEMAP_DEL_SHKEY);
+ CHECK_VALUE_X(LCFG_NODEMAP_TEST_NID);
+ CHECK_VALUE_X(LCFG_NODEMAP_TEST_ID);
+ CHECK_VALUE_X(LCFG_NODEMAP_SET_FILESET);
+ CHECK_VALUE_X(LCFG_NODEMAP_DENY_UNKNOWN);
+ CHECK_VALUE_X(LCFG_NODEMAP_MAP_MODE);
+ CHECK_VALUE_X(LCFG_NODEMAP_AUDIT_MODE);
+ CHECK_VALUE_X(LCFG_NODEMAP_SET_SEPOL);
+
+ CHECK_VALUE(PORTALS_CFG_TYPE);
+ CHECK_VALUE(LUSTRE_CFG_TYPE);
}
int
main(int argc, char **argv)
{
- char unameinfo[80];
- char gccinfo[80];
-
- system_string("uname -a", unameinfo, sizeof(unameinfo));
- system_string(CC " -v 2>&1 | tail -1", gccinfo, sizeof(gccinfo));
+ BLANK_LINE();
printf ("void lustre_assert_wire_constants(void)\n"
"{\n"
- " /* Wire protocol assertions generated by 'wirecheck'\n"
- " * (make -C lustre/utils newwiretest)\n"
- " * running on %s\n"
- " * with %s */\n"
- "\n", unameinfo, gccinfo);
+ " /* Wire protocol assertions generated by 'wirecheck'\n"
+ " * (make -C lustre/utils newwiretest)\n"
+ " */\n");
- BLANK_LINE ();
+ BLANK_LINE();
COMMENT("Constants...");
CHECK_VALUE(PTL_RPC_MSG_REQUEST);
CHECK_DEFINE_64X(DEAD_HANDLE_MAGIC);
- CHECK_CVALUE(MTI_NAME_MAXLEN);
+ CHECK_CDEFINE(MTI_NAME_MAXLEN);
CHECK_VALUE(OST_REPLY);
CHECK_VALUE(OST_GETATTR);
CHECK_VALUE(OST_QUOTACTL);
CHECK_VALUE(OST_QUOTA_ADJUST_QUNIT);
CHECK_VALUE(OST_LADVISE);
+ CHECK_VALUE(OST_FALLOCATE);
+ CHECK_VALUE(OST_SEEK);
CHECK_VALUE(OST_LAST_OPC);
CHECK_DEFINE_64X(OBD_OBJECT_EOF);
CHECK_VALUE(MDS_HSM_CT_REGISTER);
CHECK_VALUE(MDS_HSM_CT_UNREGISTER);
CHECK_VALUE(MDS_SWAP_LAYOUTS);
+ CHECK_VALUE(MDS_RMFID);
CHECK_VALUE(MDS_LAST_OPC);
CHECK_VALUE(REINT_SETATTR);
CHECK_VALUE_64X(MDS_ATTR_CTIME_SET);
CHECK_VALUE_64X(MDS_ATTR_FROM_OPEN);
CHECK_VALUE_64X(MDS_ATTR_BLOCKS);
+ CHECK_VALUE_64X(MDS_ATTR_PROJID);
+ CHECK_VALUE_64X(MDS_ATTR_LSIZE);
+ CHECK_VALUE_64X(MDS_ATTR_LBLOCKS);
+ CHECK_VALUE_64X(MDS_ATTR_OVERRIDE);
CHECK_VALUE(FLD_QUERY);
CHECK_VALUE(FLD_READ);
CHECK_CVALUE(LQUOTA_RES_DT);
CHECK_VALUE(OBD_PING);
- CHECK_VALUE(OBD_LOG_CANCEL);
- CHECK_VALUE(OBD_QC_CALLBACK);
CHECK_VALUE(OBD_IDX_READ);
CHECK_VALUE(OBD_LAST_OPC);
CHECK_VALUE(MGS_TARGET_REG);
CHECK_VALUE(MGS_TARGET_DEL);
CHECK_VALUE(MGS_SET_INFO);
+ CHECK_VALUE(MGS_CONFIG_READ);
CHECK_VALUE(MGS_LAST_OPC);
CHECK_VALUE(SEC_CTX_INIT);
CHECK_STRUCT(obd_uuid);
check_lu_seq_range();
check_lustre_mdt_attrs();
+ check_lustre_ost_attrs();
CHECK_VALUE(OUT_CREATE);
CHECK_VALUE(OUT_DESTROY);
CHECK_VALUE(OUT_XATTR_DEL);
CHECK_VALUE(OUT_PUNCH);
CHECK_VALUE(OUT_READ);
+ CHECK_VALUE(OUT_NOOP);
+ CHECK_VALUE(OUT_XATTR_LIST);
+ check_som_attrs();
check_hsm_attrs();
check_ost_id();
check_lu_dirent();
check_lustre_msg_v2();
check_ptlrpc_body();
check_obd_connect_data();
+ check_ost_layout();
check_obdo();
check_lov_ost_data_v1();
check_lov_mds_md_v1();
check_lov_mds_md_v3();
+ check_lov_comp_md_entry_v1();
+ check_lov_comp_md_v1();
check_lmv_mds_md_v1();
check_obd_statfs();
check_obd_ioobj();
check_niobuf_remote();
check_ost_body();
check_ll_fid();
+ check_mds_op_bias();
check_mdt_body();
check_mdt_ioepoch();
check_mdt_rec_setattr();
check_mdt_rec_unlink();
check_mdt_rec_rename();
check_mdt_rec_setxattr();
+ check_mdt_rec_resync();
check_mdt_rec_reint();
check_lmv_desc();
check_lov_desc();
check_ldlm_ost_lvb();
check_ldlm_lquota_lvb();
check_ldlm_gl_lquota_desc();
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
+ check_ldlm_gl_barrier_desc();
+ check_ldlm_barrier_lvb();
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 18, 53, 0)
check_mgs_send_param();
#endif
check_cfg_marker();
check_llog_gen();
check_llog_gen_rec();
check_llog_log_hdr();
- check_llog_cookie();
check_llogd_body();
check_llogd_conn_body();
check_ll_fiemap_info_key();
check_quota_body();
check_mgs_target_info();
- check_lustre_capa();
- check_lustre_capa_key();
+ check_mgs_nidtbl_entry();
+ check_mgs_config_body();
+ check_mgs_config_res();
check_getinfo_fid2path();
check_ll_user_fiemap();
check_ll_fiemap_extent();
check_nodemap_global_rec();
check_nodemap_rec();
+ check_ofd_access_entry_v1();
+ check_lustre_access_log_info_v1();
+
check_lfsck_request();
check_lfsck_reply();
check_update_records();
check_llog_update_record();
- printf("}\n\n");
+ check_lustre_cfg();
+
+ printf("}\n");
return 0;
}