Whamcloud - gitweb
LU-3467 target: unified transaction callbacks
[fs/lustre-release.git] / lustre / ofd / ofd_trans.c
index a14afe2..67cc912 100644 (file)
@@ -64,33 +64,9 @@ struct thandle *ofd_trans_create(const struct lu_env *env,
 int ofd_trans_start(const struct lu_env *env, struct ofd_device *ofd,
                    struct ofd_object *obj, struct thandle *th)
 {
-       struct ofd_thread_info  *info = ofd_info(env);
-       int                      rc;
-
-       if (env->le_ses == NULL || info->fti_exp == NULL)
-               return 0;
-
-       /* declare last_rcvd update */
-       rc = dt_declare_record_write(env, ofd->ofd_lut.lut_last_rcvd,
-                                    sizeof(struct lsd_client_data),
-                                    info->fti_exp->exp_target_data.ted_lr_off,
-                                    th);
-       if (rc)
-               RETURN(rc);
-
-       /* declare last_rcvd header update */
-       rc = dt_declare_record_write(env, ofd->ofd_lut.lut_last_rcvd,
-                                    sizeof(ofd->ofd_lut.lut_lsd), 0, th);
-       if (rc)
-               RETURN(rc);
-
        /* version change is required for this object */
-       if (obj) {
-               ofd_info(env)->fti_obj = obj;
-               rc = dt_declare_version_set(env, ofd_object_child(obj), th);
-               if (rc)
-                       RETURN(rc);
-       }
+       if (obj != NULL)
+               tgt_vbr_obj_set(env, ofd_object_child(obj));
 
        return dt_trans_start(env, ofd->ofd_osd, th);
 }
@@ -101,51 +77,3 @@ void ofd_trans_stop(const struct lu_env *env, struct ofd_device *ofd,
        th->th_result = rc;
        dt_trans_stop(env, ofd->ofd_osd, th);
 }
-
-/* Update last_rcvd records with the latest transaction data */
-int ofd_txn_stop_cb(const struct lu_env *env, struct thandle *txn,
-                   void *cookie)
-{
-       struct ofd_device       *ofd = cookie;
-       struct ofd_thread_info  *info = ofd_info(env);
-       struct dt_object        *obj;
-       struct tgt_session_info *tsi;
-       bool                     echo_client;
-       int                      rc;
-
-       ENTRY;
-
-       if (env->le_ses == NULL || info->fti_exp == NULL)
-               RETURN(0);
-
-       tsi = tgt_ses_info(env);
-
-       echo_client = (tgt_ses_req(tsi) == NULL);
-
-       if (info->fti_has_trans && !echo_client) {
-               if (info->fti_mult_trans == 0) {
-                       CERROR("More than one transaction "LPU64"\n",
-                              info->fti_transno);
-                       RETURN(0);
-               }
-               /* we need another transno to be assigned */
-               info->fti_transno = 0;
-       } else if (txn->th_result == 0) {
-               info->fti_has_trans = 1;
-       }
-
-       /** VBR: set new versions */
-       if (info->fti_obj != NULL)
-               obj = ofd_object_child(info->fti_obj);
-       else
-               obj = NULL;
-
-       if (unlikely(echo_client)) /* echo client special case */
-               rc = tgt_last_rcvd_update_echo(env, &ofd->ofd_lut, obj, txn,
-                                              tsi->tsi_exp);
-       else
-               rc = tgt_last_rcvd_update(env, &ofd->ofd_lut, obj, 0, txn,
-                                         tgt_ses_req(tsi));
-       RETURN(rc);
-}
-