}
static inline struct dt_object *
+lfsck_object_find_by_dev_new(const struct lu_env *env, struct dt_device *dev,
+ const struct lu_fid *fid)
+{
+ struct lu_object_conf *conf = &lfsck_env_info(env)->lti_conf;
+
+ conf->loc_flags = LOC_F_NEW;
+ return lu2dt(lu_object_find_slice(env, dt2lu_dev(dev), fid, conf));
+}
+
+static inline struct dt_object *
lfsck_object_find_by_dev_nowait(const struct lu_env *env, struct dt_device *dev,
const struct lu_fid *fid)
{
}
static inline struct dt_object *
+lfsck_object_find_bottom_new(const struct lu_env *env,
+ struct lfsck_instance *lfsck,
+ const struct lu_fid *fid)
+{
+ struct dt_device *dev;
+
+ dev = lfsck_find_dev_by_fid(env, lfsck, fid);
+ if (IS_ERR(dev))
+ return (struct dt_object *)dev;
+
+ return lfsck_object_find_by_dev_new(env, dev, fid);
+}
+
+static inline struct dt_object *
lfsck_object_locate(struct dt_device *dev, struct dt_object *obj)
{
if (lfsck_obj2dev(obj) == dev) {
*cfid = bk->lb_lpf_fid;
}
- child = lfsck_object_find_bottom(env, lfsck, cfid);
+ child = lfsck_object_find_bottom_new(env, lfsck, cfid);
if (IS_ERR(child))
GOTO(unlock, rc = PTR_ERR(child));