Motr  M0
dtx.c File Reference
#include "dtm0/dtx.h"
#include "lib/assert.h"
#include "lib/memory.h"
#include "lib/errno.h"
#include "lib/trace.h"
#include "be/dtm0_log.h"
#include "conf/helpers.h"
#include "reqh/reqh.h"
#include "rpc/rpc_machine.h"
#include "dtm0/fop.h"
#include "dtm0/service.h"
Include dependency graph for dtx.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_DTM0
 

Functions

M0_INTERNAL void m0_dtm0_dtx_domain_init (void)
 
M0_INTERNAL void m0_dtm0_dtx_domain_fini (void)
 
static int dtx_log_insert (struct m0_dtm0_dtx *dtx)
 
static void dtx_log_update (struct m0_dtm0_dtx *dtx)
 
static void dtx_init (struct m0_dtm0_dtx *dtx, struct m0_dtm0_service *svc, struct m0_sm_group *grp)
 
static struct m0_dtm0_dtxdtx_alloc (struct m0_dtm0_service *svc, struct m0_sm_group *grp)
 
static void dtx_fini (struct m0_dtm0_dtx *dtx)
 
static void dtx_prepare (struct m0_dtm0_dtx *dtx)
 
static int dtx_open (struct m0_dtm0_dtx *dtx, uint32_t nr_pa)
 
static void dtx_fop_assign (struct m0_dtm0_dtx *dtx, uint32_t pa_idx, const struct m0_fop *pa_fop)
 
static int dtx_fid_assign (struct m0_dtm0_dtx *dtx, uint32_t pa_idx, const struct m0_fid *pa_sfid)
 
static int dtx_close (struct m0_dtm0_dtx *dtx)
 
static void dtx_done (struct m0_dtm0_dtx *dtx)
 
static void dtx_exec_all_ast_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static void dtx_persistent_ast_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
M0_INTERNAL void m0_dtm0_dtx_pmsg_post (struct m0_dtm0_dtx *dtx, struct m0_fop *fop)
 
static void dtx_executed (struct m0_dtm0_dtx *dtx, uint32_t idx)
 
M0_INTERNAL struct m0_dtxm0_dtx0_alloc (struct m0_dtm0_service *svc, struct m0_sm_group *grp)
 
M0_INTERNAL void m0_dtx0_prepare (struct m0_dtx *dtx)
 
M0_INTERNAL int m0_dtx0_open (struct m0_dtx *dtx, uint32_t nr)
 
M0_INTERNAL int m0_dtx0_fid_assign (struct m0_dtx *dtx, uint32_t pa_idx, const struct m0_fid *pa_sfid)
 
M0_INTERNAL void m0_dtx0_fop_assign (struct m0_dtx *dtx, uint32_t pa_idx, const struct m0_fop *pa_fop)
 
M0_INTERNAL int m0_dtx0_close (struct m0_dtx *dtx)
 
M0_INTERNAL void m0_dtx0_executed (struct m0_dtx *dtx, uint32_t pa_idx)
 
M0_INTERNAL void m0_dtx0_done (struct m0_dtx *dtx)
 
M0_INTERNAL int m0_dtx0_txd_copy (const struct m0_dtx *dtx, struct m0_dtm0_tx_desc *dst)
 
M0_INTERNAL enum m0_dtm0_dtx_state m0_dtx0_sm_state (const struct m0_dtx *dtx)
 

Variables

static struct m0_sm_state_descr dtx_states []
 
static struct m0_sm_trans_descr dtx_trans []
 
struct m0_sm_conf m0_dtx_sm_conf