+ * Create sub thandle
+ *
+ * Create transaction handle for sub_thandle
+ *
+ * \param[in] env execution environment
+ * \param[in] th top thandle
+ * \param[in] st sub_thandle
+ *
+ * \retval 0 if creation succeeds.
+ * \retval negative errno if creation fails.
+ */
+int sub_thandle_trans_create(const struct lu_env *env,
+ struct top_thandle *top_th,
+ struct sub_thandle *st)
+{
+ struct thandle *sub_th;
+
+ sub_th = dt_trans_create(env, st->st_dt);
+ if (IS_ERR(sub_th))
+ return PTR_ERR(sub_th);
+
+ sub_th->th_top = &top_th->tt_super;
+ st->st_sub_th = sub_th;
+
+ sub_th->th_wait_submit = 1;
+ return 0;
+}
+
+
+/**