Motr
M0
|
#include <tx.h>
void* t_datum |
m0_be_tx_cb_t t_discarded |
struct m0_be_domain* t_dom |
The BE domain can't be changed during the entire lifetime of the transaction, so it's safe to read this field at any moment between m0_be_tx_init() is called and the transaction is finalised.
struct m0_be_engine* t_engine |
struct m0_tlink t_engine_linkage |
bool t_exclusive |
Flag indicates that this transaction was opened with m0_be_tx_exclusive_open().
bool t_fast |
Flag indicates that tx_group should be closed immediately
struct m0_tlink t_fdmi_linkage |
struct m0_sm_ast t_fdmi_put_ast |
struct m0_atomic64 t_fdmi_ref |
XXX update. An optional call-back called when the transaction is being closed.
"payload" parameter is the pointer to a m0_be_tx::t_payload_size-d buffer, that will be written to the log.
->t_filler() can capture regions in the transaction.
A typical use of this call-back is to form a "fol record" used by DTM for distributed transaction management.
struct m0_tlink t_first_capture_linkage |
bool t_gc_enabled |
struct m0_be_tx_group* t_group |
struct m0_tlink t_group_linkage |
Linkage in m0_be_tx_group::tg_txs.
bool t_grouped |
bool t_log_reserved |
m0_bcount_t t_log_reserved_size |
uint64_t t_lsn |
m0_bindex_t t_lsn_discarded |
No BE transaction with lsn less than this is going to be recovered by BE recovery.
struct m0_buf t_payload |
Payload area.
Don't allocate m0_be_tx::t_payload separately. Use m0_be_tx_group preallocated payload area.
Use m0_be_tx::t_filler callback to fill m0_be_tx::t_payload.
m0_bcount_t t_payload_prepared |
m0_be_tx_cb_t t_persistent |
struct m0_be_tx_credit t_prepared |
bool t_recovering |
struct m0_be_reg_area t_reg_area |