Motr
M0
|
Go to the source code of this file.
Data Structures | |
struct | m0_be_tx |
Macros | |
#define | __MOTR_BE_TX_H__ |
#define | M0_BE_CREDIT_INC(n, cr_user, credit) |
#define | M0_BE_CREDIT_DEC(cr_user, tx) |
#define | M0_BE_TX_CAPTURE_PTR(seg, tx, ptr) m0_be_tx_capture((tx), &M0_BE_REG((seg), sizeof *(ptr), (ptr))) |
#define | M0_BE_TX_CAPTURE_ARR(seg, tx, arr, nr) m0_be_tx_capture((tx), &M0_BE_REG((seg), (nr) * sizeof((arr)[0]), (arr))) |
#define | M0_BE_TX_CAPTURE_BUF(seg, tx, buf) m0_be_tx_capture((tx), &M0_BE_REG((seg), (buf)->b_nob, (buf)->b_addr)) |
Typedefs | |
typedef void(* | m0_be_tx_cb_t) (const struct m0_be_tx *tx) |
Enumerations | |
enum | m0_be_tx_state { M0_BTS_FAILED = 1, M0_BTS_PREPARE, M0_BTS_OPENING, M0_BTS_GROUPING, M0_BTS_ACTIVE, M0_BTS_CLOSED, M0_BTS_LOGGED, M0_BTS_PLACED, M0_BTS_DONE, M0_BTS_NR } |
Functions | |
M0_INTERNAL bool | m0_be_tx__invariant (const struct m0_be_tx *tx) |
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) |
M0_INTERNAL void | m0_be_tx_fini (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_prep (struct m0_be_tx *tx, const struct m0_be_tx_credit *credit) |
M0_INTERNAL void | m0_be_tx_payload_prep (struct m0_be_tx *tx, m0_bcount_t size) |
M0_INTERNAL void | m0_be_tx_open (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_exclusive_open (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_capture (struct m0_be_tx *tx, const struct m0_be_reg *reg) |
M0_INTERNAL void | m0_be_tx_uncapture (struct m0_be_tx *tx, const struct m0_be_reg *reg) |
M0_INTERNAL void | m0_be_tx_close (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_get (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_put (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_force (struct m0_be_tx *tx) |
M0_INTERNAL int | m0_be_tx_timedwait (struct m0_be_tx *tx, uint64_t states, m0_time_t deadline) |
M0_INTERNAL enum m0_be_tx_state | m0_be_tx_state (const struct m0_be_tx *tx) |
M0_INTERNAL const char * | m0_be_tx_state_name (enum m0_be_tx_state state) |
M0_INTERNAL int | m0_be_tx_open_sync (struct m0_be_tx *tx) |
M0_INTERNAL int | m0_be_tx_exclusive_open_sync (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_close_sync (struct m0_be_tx *tx) |
M0_INTERNAL bool | m0_be_tx__is_fast (struct m0_be_tx *tx) |
M0_INTERNAL int | m0_be_tx_fol_add (struct m0_be_tx *tx, struct m0_fol_rec *rec) |
M0_INTERNAL bool | m0_be_tx__is_exclusive (const struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx__recovering_set (struct m0_be_tx *tx) |
M0_INTERNAL bool | m0_be_tx__is_recovering (struct m0_be_tx *tx) |
M0_INTERNAL void | m0_be_tx_deconstruct (struct m0_be_tx *tx, struct m0_be_fmt_tx *ftx) |
M0_INTERNAL void | m0_be_tx_reconstruct (struct m0_be_tx *tx, const struct m0_be_fmt_tx *ftx) |
M0_INTERNAL void | m0_be_tx__group_assign (struct m0_be_tx *tx, struct m0_be_tx_group *gr) |
M0_INTERNAL bool | m0_be_tx_should_break (struct m0_be_tx *tx, const struct m0_be_tx_credit *c) |
M0_INTERNAL void | m0_be_tx_gc_enable (struct m0_be_tx *tx, void(*gc_free)(struct m0_be_tx *, void *param), void *param) |
M0_INTERNAL bool | m0_be_should_break (struct m0_be_engine *eng, const struct m0_be_tx_credit *accum, const struct m0_be_tx_credit *delta) |
M0_INTERNAL bool | m0_be_should_break_half (struct m0_be_engine *eng, const struct m0_be_tx_credit *accum, const struct m0_be_tx_credit *delta) |
M0_INTERNAL void | m0_be_tx_lsn_set (struct m0_be_tx *tx, m0_bindex_t lsn, m0_bindex_t lsn_discarded) |
M0_INTERNAL void | m0_be_tx_lsn_get (struct m0_be_tx *tx, m0_bindex_t *lsn, m0_bindex_t *lsn_discarded) |