*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.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_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);
}
static 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_reserved);
CHECK_MEMBER(lustre_som_attrs, lsa_size);
CHECK_MEMBER(lustre_som_attrs, lsa_blocks);
}
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
* 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_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_LOCKAHEAD_OLD);
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_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_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_VALUE_X(LOV_PATTERN_RAID0);
CHECK_VALUE_X(LOV_PATTERN_RAID1);
CHECK_VALUE_X(LOV_PATTERN_MDT);
- CHECK_VALUE_X(LOV_PATTERN_CMOBD);
+ CHECK_VALUE_X(LOV_PATTERN_OVERSTRIPING);
}
static void
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_MEMBER(lov_comp_md_entry_v1, lcme_padding_2);
- CHECK_VALUE_X(LCME_FL_INIT);
- CHECK_VALUE_X(LCME_FL_NEG);
+ 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_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
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_MEMBER(mdt_body, mbo_projid);
CHECK_MEMBER(mdt_body, mbo_dom_size);
CHECK_MEMBER(mdt_body, mbo_dom_blocks);
- CHECK_MEMBER(mdt_body, mbo_padding_8);
+ 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
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_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);
}
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);
}
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_GETXATTR);
- CHECK_VALUE(IT_LAYOUT);
- CHECK_VALUE(IT_QUOTA_DQACQ);
- CHECK_VALUE(IT_QUOTA_CONN);
+ 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(barrier_lvb, lvb_padding);
}
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
+#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_MEMBER(llog_log_hdr, llh_flags);
CHECK_MEMBER(llog_log_hdr, llh_cat_idx);
CHECK_MEMBER(llog_log_hdr, llh_tgtuuid);
+
+ 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_MEMBER(mgs_config_body, mcb_bits);
CHECK_MEMBER(mgs_config_body, mcb_units);
- CHECK_CVALUE(CONFIG_T_CONFIG);
- CHECK_CVALUE(CONFIG_T_SPTLRPC);
- CHECK_CVALUE(CONFIG_T_RECOVER);
- CHECK_CVALUE(CONFIG_T_PARAMS);
- CHECK_CVALUE(CONFIG_T_NODEMAP);
- CHECK_CVALUE(CONFIG_T_BARRIER);
+ 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
}
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_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);
}
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(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
+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)
{
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_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_ldlm_gl_lquota_desc();
check_ldlm_gl_barrier_desc();
check_ldlm_barrier_lvb();
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 18, 53, 0)
check_mgs_send_param();
#endif
check_cfg_marker();
check_mgs_nidtbl_entry();
check_mgs_config_body();
check_mgs_config_res();
- check_lustre_capa();
- check_lustre_capa_key();
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;
}