X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fofd%2Fofd_internal.h;h=28c7d18e34903307fab4fb40e8618c6bf4c13c85;hb=cf8137a07b130baa24002409c6bc51575217d67a;hp=d346990460d8d4fdc5997b8c8a1a43fb8e66dff3;hpb=00e814ff75c4da15a769f18736c70ab1e6a5b174;p=fs%2Flustre-release.git diff --git a/lustre/ofd/ofd_internal.h b/lustre/ofd/ofd_internal.h index d346990..28c7d18e 100644 --- a/lustre/ofd/ofd_internal.h +++ b/lustre/ofd/ofd_internal.h @@ -91,7 +91,7 @@ static inline void ofd_counter_incr(struct obd_export *exp, int opcode, char *jobid, long amount) { if (exp->exp_obd && exp->exp_obd->u.obt.obt_jobstats.ojs_hash && - (exp->exp_connect_flags & OBD_CONNECT_JOBSTATS)) + (exp_connect_flags(exp) & OBD_CONNECT_JOBSTATS)) lprocfs_job_stats_log(exp->exp_obd, jobid, opcode, amount); if (exp->exp_nid_stats != NULL && @@ -405,7 +405,7 @@ struct ofd_object *ofd_object_find_or_create(const struct lu_env *env, struct lu_attr *attr); int ofd_object_ff_check(const struct lu_env *env, struct ofd_object *fo); int ofd_precreate_objects(const struct lu_env *env, struct ofd_device *ofd, - obd_id id, struct ofd_seq *oseq, int nr); + obd_id id, struct ofd_seq *oseq, int nr, int sync); void ofd_object_put(const struct lu_env *env, struct ofd_object *fo); int ofd_attr_set(const struct lu_env *env, struct ofd_object *fo, @@ -433,7 +433,7 @@ static inline int ofd_grant_ratio_conv(int percentage) static inline int ofd_grant_param_supp(struct obd_export *exp) { - return !!(exp->exp_connect_flags & OBD_CONNECT_GRANT_PARAM); + return !!(exp_connect_flags(exp) & OBD_CONNECT_GRANT_PARAM); } /* Blocksize used for client not supporting OBD_CONNECT_GRANT_PARAM. @@ -537,33 +537,28 @@ static inline struct ofd_thread_info * ofd_info_init(const struct lu_env *env, static inline void ofd_build_resid(const struct lu_fid *fid, struct ldlm_res_id *resname) { + struct ost_id oid; + if (fid_is_idif(fid)) { - /* get id/seq like ostid_idif_pack() does */ - osc_build_res_name(fid_idif_id(fid_seq(fid), fid_oid(fid), - fid_ver(fid)), - FID_SEQ_OST_MDT0, resname); + oid.oi_id = fid_idif_id(fid_seq(fid), fid_oid(fid), + fid_ver(fid)); + oid.oi_seq = FID_SEQ_OST_MDT0; } else { - /* In the future, where OSTs have FID sequences allocated. */ - fid_build_reg_res_name(fid, resname); + oid.oi_id = fid_oid(fid); + oid.oi_seq = fid_seq(fid); } + ostid_build_res_name(&oid, resname); } static inline void ofd_fid_from_resid(struct lu_fid *fid, const struct ldlm_res_id *name) { - /* if seq is FID_SEQ_OST_MDT0 then we have IDIF and resid was built - * using osc_build_res_name function. */ - if (fid_seq_is_mdt0(name->name[LUSTRE_RES_ID_VER_OID_OFF])) { - struct ost_id ostid; - - ostid.oi_id = name->name[LUSTRE_RES_ID_SEQ_OFF]; - ostid.oi_seq = name->name[LUSTRE_RES_ID_VER_OID_OFF]; - fid_ostid_unpack(fid, &ostid, 0); - } else { - fid->f_seq = name->name[LUSTRE_RES_ID_SEQ_OFF]; - fid->f_oid = (__u32)name->name[LUSTRE_RES_ID_VER_OID_OFF]; - fid->f_ver = name->name[LUSTRE_RES_ID_VER_OID_OFF] >> 32; - } + /* To keep compatiblity, res[0] = oi_id, res[1] = oi_seq. */ + struct ost_id ostid; + + ostid.oi_id = name->name[LUSTRE_RES_ID_SEQ_OFF]; + ostid.oi_seq = name->name[LUSTRE_RES_ID_VER_OID_OFF]; + fid_ostid_unpack(fid, &ostid, 0); } static inline void ofd_oti2info(struct ofd_thread_info *info,