+static inline struct dt_object *
+lfsck_object_find_bottom_nowait(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_nowait(env, dev, 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) {
+ return obj;
+ } else {
+ struct lu_object *lo;
+
+ lo = lu_object_locate(obj->do_lu.lo_header,
+ dev->dd_lu_dev.ld_type);
+ if (unlikely(lo == NULL))
+ return ERR_PTR(-ENOENT);
+
+ return lu2dt(lo);
+ }
+}
+