+ dst->lmv_migrate_offset = cpu_to_le32(src->lmv_migrate_offset);
+ dst->lmv_migrate_hash = cpu_to_le32(src->lmv_migrate_hash);
+}
+
+static inline struct lfsck_assistant_object *
+lfsck_assistant_object_get(struct lfsck_assistant_object *lso)
+{
+ atomic_inc(&lso->lso_ref);
+
+ return lso;
+}
+
+static inline void
+lfsck_assistant_object_put(const struct lu_env *env,
+ struct lfsck_assistant_object *lso)
+{
+ if (atomic_dec_and_test(&lso->lso_ref))
+ OBD_FREE_PTR(lso);
+}
+
+static inline struct thandle*
+lfsck_trans_create(const struct lu_env *env, struct dt_device *dev,
+ struct lfsck_instance *lfsck)
+{
+ if (lfsck->li_bookmark_ram.lb_param & LPF_DRYRUN) {
+ CERROR("%s: transaction is being created in DRYRUN mode!\n",
+ lfsck_lfsck2name(lfsck));
+
+ dump_stack();
+ return ERR_PTR(-EINVAL);
+ }
+
+ return dt_trans_create(env, dev);