Whamcloud - gitweb
LU-3593 lfsck: repair inconsistent layout EA
[fs/lustre-release.git] / lustre / lfsck / lfsck_internal.h
index 01d3c60..a97947a 100644 (file)
@@ -521,6 +521,7 @@ struct lfsck_thread_info {
        struct lu_name          lti_name;
        struct lu_buf           lti_buf;
        struct lu_buf           lti_linkea_buf;
+       struct lu_buf           lti_big_buf;
        struct lu_fid           lti_fid;
        struct lu_fid           lti_fid2;
        struct lu_attr          lti_la;
@@ -538,6 +539,9 @@ struct lfsck_thread_info {
        struct lfsck_request    lti_lr;
        struct lfsck_async_interpret_args lti_laia;
        struct lfsck_stop       lti_stop;
+       ldlm_policy_data_t      lti_policy;
+       struct ldlm_res_id      lti_resid;
+       struct filter_fid_old   lti_pfid;
 };
 
 /* lfsck_lib.c */
@@ -743,6 +747,19 @@ static inline void lfsck_object_put(const struct lu_env *env,
        lu_object_put(env, &obj->do_lu);
 }
 
+static inline struct dt_object *
+lfsck_object_find_by_dev(const struct lu_env *env, struct dt_device *dev,
+                        const struct lu_fid *fid)
+{
+       struct dt_object *obj;
+
+       obj = lu2dt(lu_object_find_slice(env, dt2lu_dev(dev), fid, NULL));
+       if (unlikely(obj == NULL))
+               return ERR_PTR(-ENOENT);
+
+       return obj;
+}
+
 static inline struct lfsck_tgt_desc *lfsck_tgt_get(struct lfsck_tgt_descs *ltds,
                                                   __u32 index)
 {