* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2011, 2012, Intel Corporation.
+ * Copyright (c) 2011, 2013, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
-#include <liblustre.h>
-#include <lustre_lib.h>
+#include <libcfs/libcfs.h>
#include <lustre/lustre_idl.h>
#include <lustre_disk.h>
CHECK_MEMBER(lustre_mdt_attrs, lma_compat);
CHECK_MEMBER(lustre_mdt_attrs, lma_incompat);
CHECK_MEMBER(lustre_mdt_attrs, lma_self_fid);
- CHECK_MEMBER(lustre_mdt_attrs, lma_flags);
CHECK_VALUE_X(LMAI_RELEASED);
CHECK_VALUE_X(LMAC_HSM);
CHECK_VALUE_X(LMAC_SOM);
+ CHECK_VALUE_X(LMAC_NOT_IN_OI);
+ CHECK_VALUE_X(LMAC_FID_ON_OST);
}
static void
{
BLANK_LINE();
CHECK_STRUCT(ost_id);
- CHECK_MEMBER(ost_id, oi_id);
- CHECK_MEMBER(ost_id, oi_seq);
+ CHECK_MEMBER(ost_id, oi);
CHECK_VALUE(LUSTRE_FID_INIT_OID);
CHECK_VALUE_64X(FID_SEQ_SPECIAL);
CHECK_VALUE_64X(FID_SEQ_QUOTA);
CHECK_VALUE_64X(FID_SEQ_QUOTA_GLB);
+ CHECK_VALUE_64X(FID_SEQ_ROOT);
CHECK_VALUE_64X(FID_SEQ_NORMAL);
CHECK_VALUE_64X(FID_SEQ_LOV_DEFAULT);
CHECK_DEFINE_64X(OBD_CONNECT_NANOSEC_TIME);
CHECK_DEFINE_64X(OBD_CONNECT_LIGHTWEIGHT);
CHECK_DEFINE_64X(OBD_CONNECT_SHORTIO);
+ CHECK_DEFINE_64X(OBD_CONNECT_PINGLESS);
+ CHECK_DEFINE_64X(OBD_CONNECT_FLOCK_DEAD);
+ CHECK_DEFINE_64X(OBD_CONNECT_OPEN_BY_FID);
+ CHECK_DEFINE_64X(OBD_CONNECT_LFSCK);
CHECK_VALUE_X(OBD_CKSUM_CRC32);
CHECK_VALUE_X(OBD_CKSUM_ADLER);
BLANK_LINE();
CHECK_STRUCT(obdo);
CHECK_MEMBER(obdo, o_valid);
- CHECK_MEMBER(obdo, o_id);
- CHECK_MEMBER(obdo, o_seq);
+ CHECK_MEMBER(obdo, o_oi);
CHECK_MEMBER(obdo, o_parent_seq);
CHECK_MEMBER(obdo, o_size);
CHECK_MEMBER(obdo, o_mtime);
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_CVALUE_X(OBD_FL_MMAP);
CHECK_CVALUE_X(OBD_FL_RECOV_RESEND);
CHECK_CVALUE_X(OBD_FL_NOSPC_BLK);
+ CHECK_CVALUE_X(OBD_FL_FLUSH);
+ CHECK_CVALUE_X(OBD_FL_SHORT_IO);
CHECK_CVALUE_X(OBD_FL_LOCAL_MASK);
}
{
BLANK_LINE();
CHECK_STRUCT(lov_ost_data_v1);
- CHECK_MEMBER(lov_ost_data_v1, l_object_id);
- CHECK_MEMBER(lov_ost_data_v1, l_object_seq);
+ CHECK_MEMBER(lov_ost_data_v1, l_ost_oi);
CHECK_MEMBER(lov_ost_data_v1, l_ost_gen);
CHECK_MEMBER(lov_ost_data_v1, l_ost_idx);
}
CHECK_STRUCT(lov_mds_md_v1);
CHECK_MEMBER(lov_mds_md_v1, lmm_magic);
CHECK_MEMBER(lov_mds_md_v1, lmm_pattern);
- CHECK_MEMBER(lov_mds_md_v1, lmm_object_id);
- CHECK_MEMBER(lov_mds_md_v1, lmm_object_seq);
+ CHECK_MEMBER(lov_mds_md_v1, lmm_oi);
CHECK_MEMBER(lov_mds_md_v1, lmm_stripe_size);
CHECK_MEMBER(lov_mds_md_v1, lmm_stripe_count);
CHECK_MEMBER(lov_mds_md_v1, lmm_layout_gen);
CHECK_STRUCT(lov_mds_md_v3);
CHECK_MEMBER(lov_mds_md_v3, lmm_magic);
CHECK_MEMBER(lov_mds_md_v3, lmm_pattern);
- CHECK_MEMBER(lov_mds_md_v3, lmm_object_id);
- CHECK_MEMBER(lov_mds_md_v3, lmm_object_seq);
+ CHECK_MEMBER(lov_mds_md_v3, lmm_oi);
CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_size);
CHECK_MEMBER(lov_mds_md_v3, lmm_stripe_count);
CHECK_MEMBER(lov_mds_md_v3, lmm_layout_gen);
{
BLANK_LINE();
CHECK_STRUCT(obd_ioobj);
- CHECK_MEMBER(obd_ioobj, ioo_id);
- CHECK_MEMBER(obd_ioobj, ioo_seq);
- CHECK_MEMBER(obd_ioobj, ioo_type);
+ CHECK_MEMBER(obd_ioobj, ioo_oid);
+ CHECK_MEMBER(obd_ioobj, ioo_max_brw);
CHECK_MEMBER(obd_ioobj, ioo_bufcnt);
}
CHECK_DEFINE_X(OBD_BRW_SRVLOCK);
CHECK_DEFINE_X(OBD_BRW_ASYNC);
CHECK_DEFINE_X(OBD_BRW_MEMALLOC);
+ CHECK_DEFINE_X(OBD_BRW_OVER_USRQUOTA);
+ CHECK_DEFINE_X(OBD_BRW_OVER_GRPQUOTA);
+ CHECK_DEFINE_X(OBD_BRW_SOFT_SYNC);
}
static void
CHECK_MEMBER(mdt_body, atime);
CHECK_MEMBER(mdt_body, ctime);
CHECK_MEMBER(mdt_body, blocks);
- CHECK_MEMBER(mdt_body, ino);
+ CHECK_MEMBER(mdt_body, t_state);
CHECK_MEMBER(mdt_body, fsuid);
CHECK_MEMBER(mdt_body, fsgid);
CHECK_MEMBER(mdt_body, capability);
CHECK_MEMBER(mdt_body, flags);
CHECK_MEMBER(mdt_body, rdev);
CHECK_MEMBER(mdt_body, nlink);
- CHECK_MEMBER(mdt_body, generation);
+ CHECK_MEMBER(mdt_body, unused2);
CHECK_MEMBER(mdt_body, suppgid);
CHECK_MEMBER(mdt_body, eadatasize);
CHECK_MEMBER(mdt_body, aclsize);
CHECK_MEMBER(mdt_rec_reint, rr_bias);
CHECK_MEMBER(mdt_rec_reint, rr_mode);
CHECK_MEMBER(mdt_rec_reint, rr_flags);
- CHECK_MEMBER(mdt_rec_reint, rr_padding_2);
- CHECK_MEMBER(mdt_rec_reint, rr_padding_3);
+ CHECK_MEMBER(mdt_rec_reint, rr_flags_h);
+ CHECK_MEMBER(mdt_rec_reint, rr_umask);
CHECK_MEMBER(mdt_rec_reint, rr_padding_4);
}
}
static void
-check_lmv_stripe_md(void)
-{
- BLANK_LINE();
- CHECK_STRUCT(lmv_stripe_md);
- CHECK_MEMBER(lmv_stripe_md, mea_magic);
- CHECK_MEMBER(lmv_stripe_md, mea_count);
- CHECK_MEMBER(lmv_stripe_md, mea_master);
- CHECK_MEMBER(lmv_stripe_md, mea_padding);
- CHECK_CVALUE(LOV_MAXPOOLNAME);
- CHECK_MEMBER(lmv_stripe_md, mea_pool_name[LOV_MAXPOOLNAME]);
- CHECK_MEMBER(lmv_stripe_md, mea_ids[0]);
-}
-
-static void
check_lov_desc(void)
{
BLANK_LINE();
{
BLANK_LINE();
CHECK_STRUCT(llog_logid);
- CHECK_MEMBER(llog_logid, lgl_oid);
- CHECK_MEMBER(llog_logid, lgl_oseq);
+ CHECK_MEMBER(llog_logid, lgl_oi);
CHECK_MEMBER(llog_logid, lgl_ogen);
CHECK_CVALUE(OST_SZ_REC);
BLANK_LINE();
CHECK_STRUCT(llog_setattr64_rec);
CHECK_MEMBER(llog_setattr64_rec, lsr_hdr);
- CHECK_MEMBER(llog_setattr64_rec, lsr_oid);
- CHECK_MEMBER(llog_setattr64_rec, lsr_oseq);
+ CHECK_MEMBER(llog_setattr64_rec, lsr_oi);
CHECK_MEMBER(llog_setattr64_rec, lsr_uid);
CHECK_MEMBER(llog_setattr64_rec, lsr_uid_h);
CHECK_MEMBER(llog_setattr64_rec, lsr_gid);
}
static void
-check_posix_acl_xattr_entry(void)
-{
- BLANK_LINE();
- CHECK_STRUCT_TYPEDEF(posix_acl_xattr_entry);
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_tag);
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_perm);
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_entry, e_id);
-}
-
-static void
-check_posix_acl_xattr_header(void)
-{
- BLANK_LINE();
- CHECK_STRUCT_TYPEDEF(posix_acl_xattr_header);
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_version);
- CHECK_MEMBER_TYPEDEF(posix_acl_xattr_header, a_entries);
-}
-
-static void
check_ll_user_fiemap(void)
{
BLANK_LINE();
CHECK_MEMBER(hsm_action_list, hal_count);
CHECK_MEMBER(hsm_action_list, hal_compound_id);
CHECK_MEMBER(hsm_action_list, hal_flags);
- CHECK_MEMBER(hsm_action_list, hal_archive_num);
+ CHECK_MEMBER(hsm_action_list, hal_archive_id);
CHECK_MEMBER(hsm_action_list, padding1);
CHECK_MEMBER(hsm_action_list, hal_fsname);
}
CHECK_VALUE(LAYOUT_INTENT_RESTORE);
}
-static void
-check_hsm_state_set(void)
+static void check_hsm_state_set(void)
{
BLANK_LINE();
CHECK_STRUCT(hsm_state_set);
CHECK_MEMBER(hsm_state_set, hss_clearmask);
}
-static void
-check_hsm_current_action(void)
+static void check_hsm_current_action(void)
{
BLANK_LINE();
CHECK_STRUCT(hsm_current_action);
CHECK_MEMBER(hsm_current_action, hca_location);
}
-static void
-system_string (char *cmdline, char *str, int len)
+static void check_hsm_request(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(hsm_request);
+ CHECK_MEMBER(hsm_request, hr_action);
+ CHECK_MEMBER(hsm_request, hr_archive_id);
+ CHECK_MEMBER(hsm_request, hr_flags);
+ CHECK_MEMBER(hsm_request, hr_itemcount);
+ CHECK_MEMBER(hsm_request, hr_data_len);
+ CHECK_VALUE_X(HSM_FORCE_ACTION);
+ CHECK_VALUE_X(HSM_GHOST_COPY);
+}
+
+static void check_hsm_user_request(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(hsm_user_request);
+ CHECK_MEMBER(hsm_user_request, hur_request);
+ CHECK_MEMBER(hsm_user_request, hur_user_item);
+}
+
+static void check_hsm_user_import(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(hsm_user_import);
+ CHECK_MEMBER(hsm_user_import, hui_size);
+ CHECK_MEMBER(hsm_user_import, hui_uid);
+ CHECK_MEMBER(hsm_user_import, hui_gid);
+ CHECK_MEMBER(hsm_user_import, hui_mode);
+ CHECK_MEMBER(hsm_user_import, hui_atime);
+ CHECK_MEMBER(hsm_user_import, hui_atime_ns);
+ CHECK_MEMBER(hsm_user_import, hui_mtime);
+ CHECK_MEMBER(hsm_user_import, hui_mtime_ns);
+ CHECK_MEMBER(hsm_user_import, hui_archive_id);
+}
+
+static void check_object_update_param(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(object_update_param);
+ CHECK_MEMBER(object_update_param, oup_len);
+ CHECK_MEMBER(object_update_param, oup_padding);
+ CHECK_MEMBER(object_update_param, oup_padding2);
+ CHECK_MEMBER(object_update_param, oup_buf);
+}
+
+static void check_object_update(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(object_update);
+ CHECK_MEMBER(object_update, ou_type);
+ CHECK_MEMBER(object_update, ou_params_count);
+ CHECK_MEMBER(object_update, ou_master_index);
+ CHECK_MEMBER(object_update, ou_flags);
+ CHECK_MEMBER(object_update, ou_padding1);
+ CHECK_MEMBER(object_update, ou_batchid);
+ CHECK_MEMBER(object_update, ou_fid);
+ CHECK_MEMBER(object_update, ou_params);
+}
+
+static void check_object_update_request(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(object_update_request);
+ CHECK_MEMBER(object_update_request, ourq_magic);
+ CHECK_MEMBER(object_update_request, ourq_count);
+ CHECK_MEMBER(object_update_request, ourq_padding);
+ CHECK_MEMBER(object_update_request, ourq_updates);
+}
+
+static void check_object_update_result(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(object_update_result);
+ CHECK_MEMBER(object_update_result, our_rc);
+ CHECK_MEMBER(object_update_result, our_datalen);
+ CHECK_MEMBER(object_update_result, our_padding);
+ CHECK_MEMBER(object_update_result, our_data);
+}
+
+static void check_object_update_reply(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(object_update_reply);
+ CHECK_MEMBER(object_update_reply, ourp_magic);
+ CHECK_MEMBER(object_update_reply, ourp_count);
+ CHECK_MEMBER(object_update_reply, ourp_padding);
+ CHECK_MEMBER(object_update_reply, ourp_lens);
+}
+
+static void check_lfsck_request(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lfsck_request);
+ CHECK_MEMBER(lfsck_request, lr_event);
+ CHECK_MEMBER(lfsck_request, lr_index);
+ CHECK_MEMBER(lfsck_request, lr_flags);
+ CHECK_MEMBER(lfsck_request, lr_valid);
+ CHECK_MEMBER(lfsck_request, lr_speed);
+ CHECK_MEMBER(lfsck_request, lr_version);
+ CHECK_MEMBER(lfsck_request, lr_active);
+ CHECK_MEMBER(lfsck_request, lr_param);
+ CHECK_MEMBER(lfsck_request, lr_async_windows);
+ CHECK_MEMBER(lfsck_request, lr_padding_1);
+ CHECK_MEMBER(lfsck_request, lr_fid);
+ CHECK_MEMBER(lfsck_request, lr_fid2);
+ CHECK_MEMBER(lfsck_request, lr_fid3);
+ CHECK_MEMBER(lfsck_request, lr_padding_2);
+ CHECK_MEMBER(lfsck_request, lr_padding_3);
+
+ CHECK_VALUE(LE_LASTID_REBUILDING);
+ CHECK_VALUE(LE_LASTID_REBUILT);
+ CHECK_VALUE(LE_PHASE1_DONE);
+ CHECK_VALUE(LE_PHASE2_DONE);
+ CHECK_VALUE(LE_START);
+ CHECK_VALUE(LE_STOP);
+ CHECK_VALUE(LE_QUERY);
+ CHECK_VALUE(LE_FID_ACCESSED);
+ CHECK_VALUE(LE_PEER_EXIT);
+ CHECK_VALUE(LE_CONDITIONAL_DESTROY);
+ CHECK_VALUE(LE_PAIRS_VERIFY);
+
+ CHECK_VALUE_X(LEF_TO_OST);
+ CHECK_VALUE_X(LEF_FROM_OST);
+}
+
+static void check_lfsck_reply(void)
+{
+ BLANK_LINE();
+ CHECK_STRUCT(lfsck_reply);
+ CHECK_MEMBER(lfsck_reply, lr_status);
+ CHECK_MEMBER(lfsck_reply, lr_padding_1);
+ CHECK_MEMBER(lfsck_reply, lr_padding_2);
+}
+
+static void system_string(char *cmdline, char *str, int len)
{
int fds[2];
int rc;
CHECK_VALUE(MDS_HSM_REQUEST);
CHECK_VALUE(MDS_HSM_CT_REGISTER);
CHECK_VALUE(MDS_HSM_CT_UNREGISTER);
+ CHECK_VALUE(MDS_SWAP_LAYOUTS);
CHECK_VALUE(MDS_LAST_OPC);
CHECK_VALUE(REINT_SETATTR);
CHECK_VALUE(REINT_RENAME);
CHECK_VALUE(REINT_OPEN);
CHECK_VALUE(REINT_SETXATTR);
+ CHECK_VALUE(REINT_RMENTRY);
+ CHECK_VALUE(REINT_MIGRATE);
CHECK_VALUE(REINT_MAX);
CHECK_VALUE_X(DISP_IT_EXECD);
CHECK_VALUE_64X(MDS_ATTR_BLOCKS);
CHECK_VALUE(FLD_QUERY);
+ CHECK_VALUE(FLD_READ);
CHECK_VALUE(FLD_FIRST_OPC);
CHECK_VALUE(FLD_LAST_OPC);
CHECK_VALUE(SEQ_FIRST_OPC);
CHECK_VALUE(SEQ_LAST_OPC);
+ CHECK_VALUE(LFSCK_NOTIFY);
+ CHECK_VALUE(LFSCK_QUERY);
+ CHECK_VALUE(LFSCK_FIRST_OPC);
+ CHECK_VALUE(LFSCK_LAST_OPC);
+
CHECK_VALUE(SEQ_ALLOC_SUPER);
CHECK_VALUE(SEQ_ALLOC_META);
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_VALUE(OUT_UPDATE);
+ CHECK_VALUE(OUT_UPDATE_LAST_OPC);
CHECK_CVALUE(LUSTRE_RES_ID_QUOTA_SEQ_OFF);
CHECK_CVALUE(LUSTRE_RES_ID_QUOTA_VER_OID_OFF);
CHECK_CVALUE(LUSTRE_RES_ID_HSH_OFF);
CHECK_STRUCT(obd_uuid);
check_lu_seq_range();
check_lustre_mdt_attrs();
+
+ CHECK_VALUE(OUT_CREATE);
+ CHECK_VALUE(OUT_DESTROY);
+ CHECK_VALUE(OUT_REF_ADD);
+ CHECK_VALUE(OUT_REF_DEL);
+ CHECK_VALUE(OUT_ATTR_SET);
+ CHECK_VALUE(OUT_ATTR_GET);
+ CHECK_VALUE(OUT_XATTR_SET);
+ CHECK_VALUE(OUT_XATTR_GET);
+ CHECK_VALUE(OUT_INDEX_LOOKUP);
+ CHECK_VALUE(OUT_INDEX_LOOKUP);
+ CHECK_VALUE(OUT_INDEX_INSERT);
+ CHECK_VALUE(OUT_INDEX_DELETE);
+
check_som_attrs();
check_hsm_attrs();
check_ost_id();
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_getinfo_fid2path();
check_ll_user_fiemap();
check_ll_fiemap_extent();
- printf("#ifdef LIBLUSTRE_POSIX_ACL\n");
-#ifndef LIBLUSTRE_POSIX_ACL
-#error build generator without LIBLUSTRE_POSIX_ACL defined - produce wrong check code.
-#endif
- check_posix_acl_xattr_entry();
- check_posix_acl_xattr_header();
- printf("#endif\n");
check_link_ea_header();
check_link_ea_entry();
check_layout_intent();
check_hsm_user_state();
check_hsm_state_set();
check_hsm_current_action();
+ check_hsm_request();
+ check_hsm_user_request();
+ check_hsm_user_import();
+
+ check_object_update_param();
+ check_object_update();
+ check_object_update_request();
+ check_object_update_result();
+ check_object_update_reply();
+
+ check_lfsck_request();
+ check_lfsck_reply();
printf("}\n\n");