24 #ifndef __MOTR_BE_TX_GROUP_H__ 25 #define __MOTR_BE_TX_GROUP_H__ 205 bool del_tx_from_group);
254 M0_INTERNAL
void tx_group_add(
struct m0_be_tx_engine *eng,
257 M0_INTERNAL
void tx_group_close(
struct m0_be_tx_engine *eng,
262 #define M0_BE_TX_GROUP_TX_FORALL(gr, tx) \ 263 m0_tl_for(grp, &(gr)->tg_txs, (tx)) 265 #define M0_BE_TX_GROUP_TX_ENDFOR m0_tl_endfor m0_bcount_t tgc_payload_max
struct m0_be_reg_area tg_reg_area
M0_INTERNAL void m0_be_tx_group_seg_place(struct m0_be_tx_group *gr, struct m0_be_op *op)
M0_INTERNAL void m0_be_tx_group_discard(struct m0_be_log_discard *ld, struct m0_be_log_discard_item *ldi)
struct be_recovering_tx * tg_rtxs
M0_INTERNAL void m0_be_tx_group_seg_io_credit(struct m0_be_tx_group_cfg *gr_cfg, struct m0_be_io_credit *io_cred)
M0_INTERNAL void m0_be_tx_group_close(struct m0_be_tx_group *gr)
struct m0_be_group_format tg_od
struct m0_tl tg_txs_recovering
M0_INTERNAL int m0_be_tx_group_init(struct m0_be_tx_group *gr, struct m0_be_tx_group_cfg *gr_cfg)
M0_INTERNAL void m0_be_tx_group_recovery_prepare(struct m0_be_tx_group *gr, struct m0_be_log *log)
M0_TL_DECLARE(grp, M0_INTERNAL, struct m0_be_tx)
M0_INTERNAL struct m0_sm_group * m0_be_tx_group__sm_group(struct m0_be_tx_group *gr)
M0_INTERNAL void m0_be_tx_group_tx_closed(struct m0_be_tx_group *gr, struct m0_be_tx *tx)
struct m0_be_log_discard * tgc_log_discard
M0_INTERNAL void m0_be_tx_group_reconstruct_tx_close(struct m0_be_tx_group *gr, struct m0_be_op *op_gc)
static struct m0_sm_group * grp
m0_bcount_t tg_payload_prepared
M0_INTERNAL void m0_be_tx_group__deallocate(struct m0_be_tx_group *gr)
struct m0_be_domain * tgc_domain
struct m0_be_domain * tg_domain
struct m0_sm_timer tg_close_timer
struct m0_be_engine * tg_engine
M0_INTERNAL int m0_be_tx_group_start(struct m0_be_tx_group *gr)
struct m0_sm_ast tg_close_timer_arm
struct m0_be_group_format_cfg tgc_format
M0_TL_DESCR_DECLARE(grp, M0_EXTERN)
M0_INTERNAL void m0_be_tx_group_reset(struct m0_be_tx_group *gr)
M0_INTERNAL void m0_be_tx_group_reconstruct_tx_open(struct m0_be_tx_group *gr, struct m0_be_op *op)
M0_INTERNAL void m0_be_tx_group_log_write(struct m0_be_tx_group *gr, struct m0_be_op *op)
M0_INTERNAL void m0_be_tx_group_encode(struct m0_be_tx_group *gr)
struct m0_be_log * tgc_log
m0_time_t tg_close_deadline
M0_INTERNAL void m0_be_tx_group__tx_state_post(struct m0_be_tx_group *gr, enum m0_be_tx_state state, bool del_tx_from_group)
M0_INTERNAL int m0_be_tx_group__allocate(struct m0_be_tx_group *gr)
struct m0_be_tx_credit tgc_size_max
struct m0_sm_ast tg_close_timer_disarm
struct m0_be_tx_credit tg_used
struct m0_be_tx_credit tg_size
M0_INTERNAL void m0_be_tx_group_tx_del(struct m0_be_tx_group *gr, struct m0_be_tx *tx)
M0_INTERNAL bool m0_be_tx_group_is_recovering(struct m0_be_tx_group *gr)
struct m0_be_tx_group_fom tg_fom
M0_INTERNAL size_t m0_be_tx_group_tx_nr(struct m0_be_tx_group *gr)
unsigned long tgc_tx_nr_max
struct m0_be_tx_credit tg_log_reserved
struct m0_reqh * tgc_reqh
struct m0_be_reg_area_merger tg_merger
M0_INTERNAL void m0_be_tx_group_log_read(struct m0_be_tx_group *gr, struct m0_be_op *op)
M0_INTERNAL void m0_be_tx_group_stop(struct m0_be_tx_group *gr)
M0_INTERNAL bool m0_be_tx_group__invariant(struct m0_be_tx_group *gr)
M0_INTERNAL int m0_be_tx_group_tx_add(struct m0_be_tx_group *gr, struct m0_be_tx *tx)
struct m0_be_tx_group_cfg tg_cfg
M0_INTERNAL void m0_be_tx_group_seg_place_prepare(struct m0_be_tx_group *gr)
struct m0_tlink tg_engine_linkage
struct m0_be_engine * tgc_engine
M0_INTERNAL void m0_be_tx_group_fini(struct m0_be_tx_group *gr)
M0_INTERNAL int m0_be_tx_group_decode(struct m0_be_tx_group *gr)
M0_INTERNAL int m0_be_tx_group_reapply(struct m0_be_tx_group *gr, struct m0_be_op *op)
M0_INTERNAL void m0_be_tx_group_stable(struct m0_be_tx_group *gr)
M0_INTERNAL int m0_be_tx_group_reconstruct(struct m0_be_tx_group *gr, struct m0_sm_group *sm_grp)
enum m0_be_tx_group_state tg_state
unsigned long tgc_seg_nr_max
M0_INTERNAL void m0_be_tx_group_open(struct m0_be_tx_group *gr)
struct m0_be_log * tg_log
M0_INTERNAL void m0_be_tx_group_prepare(struct m0_be_tx_group *gr, struct m0_be_op *op)