Whamcloud - gitweb
LU-1866 lfsck: enhance otable-based iteration
[fs/lustre-release.git] / lustre / ofd / ofd_internal.h
index 63d324e..28c7d18 100644 (file)
@@ -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 &&
@@ -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,