34 #include "dtm/dtm_update_xc.h" 35 #include "dtm/update_xc.h" 36 #include "dtm/operation_xc.h" 38 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_DTM 174 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL void m0_dtm_fini(struct m0_dtm *dtm)
M0_INTERNAL void m0_fol_rec_fini(struct m0_fol_rec *rec)
M0_INTERNAL int m0_be_tx_timedwait(struct m0_be_tx *tx, uint64_t states, m0_time_t deadline)
const m0_time_t M0_TIME_NEVER
M0_INTERNAL int m0_dtm_global_init(void)
M0_INTERNAL void m0_be_tx_fini(struct m0_be_tx *tx)
M0_INTERNAL void m0_dtx_init(struct m0_dtx *tx, struct m0_be_domain *be_domain, struct m0_sm_group *sm_group)
M0_INTERNAL void m0_dtm_nuclei_init(void)
M0_INTERNAL void m0_dtx_opened(struct m0_dtx *tx)
M0_INTERNAL void m0_be_tx_prep(struct m0_be_tx *tx, const struct m0_be_tx_credit *credit)
M0_INTERNAL struct m0_dtm * nu_dtm(struct m0_dtm_nu *nu)
struct m0_dtm_catalogue d_cat[M0_DTM_HISTORY_TYPE_NR]
M0_INTERNAL void m0_dtm_catalogue_init(struct m0_dtm_catalogue *cat)
#define container_of(ptr, type, member)
M0_INTERNAL void dtm_lock(struct m0_dtm *dtm)
M0_INTERNAL void m0_dtm_remote_global_fini(void)
M0_INTERNAL int m0_dtx_done_sync(struct m0_dtx *tx)
#define M0_BE_TX_CREDIT(nr, size)
M0_INTERNAL void m0_fol_rec_init(struct m0_fol_rec *rec, struct m0_fol *fol)
M0_INTERNAL void m0_dtm_history_type_register(struct m0_dtm *dtm, const struct m0_dtm_history_type *ht)
M0_INTERNAL const struct m0_dtm_history_type m0_dtm_fol_htype
M0_INTERNAL void m0_dtm_nu_init(struct m0_dtm_nu *nu)
M0_INTERNAL int m0_dtx_fol_add(struct m0_dtx *tx)
M0_INTERNAL void m0_dtx_open(struct m0_dtx *tx)
M0_INTERNAL void m0_dtm_fol_init(struct m0_dtm_fol *fol, struct m0_dtm *dtm)
struct m0_be_tx_credit tx_betx_cred
M0_INTERNAL void m0_be_tx_close(struct m0_be_tx *tx)
M0_INTERNAL void m0_dtm_catalogue_fini(struct m0_dtm_catalogue *cat)
M0_INTERNAL void m0_dtx_fini(struct m0_dtx *tx)
const struct m0_dtm_history_type * d_htype[M0_DTM_HISTORY_TYPE_NR]
struct m0_fol_rec tx_fol_rec
M0_INTERNAL void nu_lock(struct m0_dtm_nu *nu)
M0_INTERNAL void m0_dtm_history_type_deregister(struct m0_dtm *dtm, const struct m0_dtm_history_type *ht)
M0_INTERNAL void m0_dtx_done(struct m0_dtx *tx)
M0_INTERNAL void m0_dtm_nuclei_fini(void)
M0_INTERNAL void m0_be_tx_init(struct m0_be_tx *tx, uint64_t tid, struct m0_be_domain *dom, struct m0_sm_group *sm_group, m0_be_tx_cb_t persistent, m0_be_tx_cb_t discarded, void(*filler)(struct m0_be_tx *tx, void *payload), void *datum)
#define m0_forall(var, nr,...)
M0_INTERNAL void nu_unlock(struct m0_dtm_nu *nu)
M0_INTERNAL void m0_dtm_init(struct m0_dtm *dtm, struct m0_uint128 *id)
M0_INTERNAL void m0_dtm_global_fini(void)
M0_INTERNAL void m0_be_tx_open(struct m0_be_tx *tx)
M0_INTERNAL void dtm_unlock(struct m0_dtm *dtm)
enum m0_dtx_state tx_state
M0_INTERNAL int m0_dtx_open_sync(struct m0_dtx *tx)
M0_INTERNAL void m0_dtm_nu_fini(struct m0_dtm_nu *nu)
int m0_be_tx_fol_add(struct m0_be_tx *tx, struct m0_fol_rec *rec)
M0_INTERNAL int m0_dtm_remote_global_init(void)
M0_INTERNAL void m0_dtm_fol_fini(struct m0_dtm_fol *fol)
M0_INTERNAL void m0_dtx_prep(struct m0_dtx *tx, const struct m0_be_tx_credit *cred)