#include <linux/lustre/lustre_idl.h>
#include <linux/lustre/lustre_lfsck_user.h>
#include <linux/lustre/lustre_disk.h>
+#include <linux/lustre/lustre_cfg.h>
#define BLANK_LINE() \
do { \
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);
}
* 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_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_SELINUX_POLICY);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LSOM);
+ CHECK_DEFINE_64X(OBD_CONNECT2_PCC);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ASYNC_DISCARD);
+ CHECK_DEFINE_64X(OBD_CONNECT2_ENCRYPT);
CHECK_VALUE_X(OBD_CKSUM_CRC32);
CHECK_VALUE_X(OBD_CKSUM_ADLER);
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_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_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_FLCROSSREF);
CHECK_DEFINE_64X(OBD_MD_FLGETATTRLOCK);
CHECK_DEFINE_64X(OBD_MD_FLDATAVERSION);
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_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_padding);
+ 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_VALUE_X(LCME_FL_INIT);
CHECK_VALUE_X(LCME_FL_NEG);
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_LOST_LMV);
+ CHECK_CDEFINE(LMV_HASH_FLAG_BAD_TYPE);
+ CHECK_CDEFINE(LMV_HASH_FLAG_MIGRATION);
}
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_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_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_DEFINE_X(MDS_INODELOCK_UPDATE);
CHECK_DEFINE_X(MDS_INODELOCK_OPEN);
CHECK_DEFINE_X(MDS_INODELOCK_LAYOUT);
+ CHECK_DEFINE_X(MDS_INODELOCK_PERM);
+ CHECK_DEFINE_X(MDS_INODELOCK_XATTR);
+ CHECK_DEFINE_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_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);
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_VALUE(IT_READDIR);
CHECK_VALUE(IT_GETATTR);
CHECK_VALUE(IT_LOOKUP);
- CHECK_VALUE(IT_UNLINK);
- CHECK_VALUE(IT_TRUNC);
CHECK_VALUE(IT_GETXATTR);
- CHECK_VALUE(IT_EXEC);
- CHECK_VALUE(IT_PIN);
CHECK_VALUE(IT_LAYOUT);
CHECK_VALUE(IT_QUOTA_DQACQ);
CHECK_VALUE(IT_QUOTA_CONN);
- CHECK_VALUE(IT_SETXATTR);
}
static void
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_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_update_records();
check_llog_update_record();
- printf("}\n\n");
+ check_lustre_cfg();
+
+ printf("}\n");
return 0;
}