25 #ifndef __MOTR_FOP_FOM_H__ 26 #define __MOTR_FOP_FOM_H__ 236 #define FOM_PHASE_DEBUG (1) 539 return &
fom->fo_tx.tx_betx;
544 return &
fom->fo_tx.tx_betx_cred;
struct m0_addb2_sensor fl_clock
M0_INTERNAL void m0_fom_domain_fini(struct m0_fom_domain *dom)
void m0_fom_phase_moveif(struct m0_fom *fom, int32_t rc, int phase0, int phase1)
M0_INTERNAL void m0_fom_wakeup(struct m0_fom *fom)
static struct m0_sm_state_descr phases[]
struct m0_fom_domain * fl_dom
M0_INTERNAL void m0_fom_block_enter(struct m0_fom *fom)
struct m0_loc_thread * fl_handler
struct m0_addb2_hist fl_fom_active
M0_INTERNAL bool m0_fom_locality_dec(struct m0_fom *fom)
struct m0_bitmap fl_processors
struct m0_fom_callback to_cb
int(* fo_tick)(struct m0_fom *fom)
struct m0_tlink fo_linkage
static struct m0_be_tx_credit * m0_fom_tx_credit(struct m0_fom *fom)
struct m0_sm_group fl_group
unsigned fo_transitions_saved
M0_INTERNAL int m0_fom_domain_init(struct m0_fom_domain **out)
int(* fto_create)(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
M0_INTERNAL void m0_fom_callback_init(struct m0_fom_callback *cb)
M0_INTERNAL void m0_fom_wait_on(struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb)
static struct m0_be_tx * m0_fom_tx(struct m0_fom *fom)
M0_INTERNAL int m0_fom_timeout_arm(struct m0_fom_timeout *to, struct m0_fom *fom, void(*cb)(struct m0_fom_callback *), m0_time_t deadline)
struct m0_locality_chore fd_hung_foms_chore
M0_INTERNAL int m0_fom_timeout_wait_on(struct m0_fom_timeout *to, struct m0_fom *fom, m0_time_t deadline)
void m0_fom_init(struct m0_fom *fom, const struct m0_fom_type *fom_type, const struct m0_fom_ops *ops, struct m0_fop *fop, struct m0_fop *reply, struct m0_reqh *reqh)
struct m0_locality fl_locality
M0_INTERNAL bool m0_fom_is_waiting(const struct m0_fom *fom)
struct m0_chan_addb2 fl_chan_addb2
struct m0_addb2_mach * fl_addb2_mach
const struct m0_fom_domain_ops * fd_ops
M0_INTERNAL void m0_fom_ready(struct m0_fom *fom)
M0_INTERNAL void m0_fom_locality_post_stats(struct m0_fom_locality *loc)
struct m0_atomic64 fl_unblocking
struct m0_fom_callback * fo_pending
M0_INTERNAL bool m0_fom_domain_is_idle_for(const struct m0_reqh_service *svc)
M0_INTERNAL void m0_fom_callback_fini(struct m0_fom_callback *cb)
void m0_fom_fini(struct m0_fom *fom)
M0_INTERNAL bool m0_locality_invariant(const struct m0_fom_locality *loc)
struct m0_sm_group_addb2 fl_grp_addb2
M0_INTERNAL bool m0_fom_group_is_locked(const struct m0_fom *fom)
void m0_fom_phase_move(struct m0_fom *fom, int32_t rc, int phase)
M0_INTERNAL int m0_fom_addb2_init(struct m0_fom_type *type, uint64_t id)
M0_INTERNAL void m0_fom_fdmi_record_post(struct m0_fom *fom)
M0_INTERNAL bool m0_fom_domain_is_idle(const struct m0_fom_domain *dom)
M0_INTERNAL void m0_fom_type_init(struct m0_fom_type *type, uint64_t id, const struct m0_fom_type_ops *ops, const struct m0_reqh_service_type *svc_type, const struct m0_sm_conf *sm)
static struct m0_stob_domain * dom
M0_INTERNAL void m0_fom_block_leave(struct m0_fom *fom)
struct m0_sm_timer to_timer
const struct m0_fom_type * fo_type
struct m0_addb2_hist fl_runq_counter
void(* fc_bottom)(struct m0_fom_callback *cb)
const struct m0_fom_ops * fo_ops
struct m0_loc_thread * fo_thread
M0_INTERNAL void m0_fom_sm_init(struct m0_fom *fom)
bool(* fc_top)(struct m0_fom_callback *cb)
M0_INTERNAL void m0_fom_callback_arm(struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb)
M0_INTERNAL bool m0_fom_domain_invariant(const struct m0_fom_domain *dom)
const struct m0_fom_type_ops * ft_ops
M0_INTERNAL int m0_fom_timedwait(struct m0_fom *fom, uint64_t phases, m0_time_t deadline)
size_t(* fo_home_locality)(const struct m0_fom *fom)
M0_INTERNAL void m0_fom_timeout_fini(struct m0_fom_timeout *to)
static struct m0_chan chan[RDWR_REQUEST_MAX]
struct m0_fom_locality * fo_loc
void(* fo_hung_notify)(const struct m0_fom *fom)
struct m0_reqh_service * fo_service
bool(* fdo_time_is_out)(const struct m0_fom_domain *dom, const struct m0_fom *fom)
void(* fo_addb2_descr)(struct m0_fom *fom)
static struct m0_net_test_service svc
M0_INTERNAL bool m0_fom_is_waiting_on(const struct m0_fom *fom)
M0_INTERNAL int m0_fom_rc(const struct m0_fom *fom)
struct m0_sm_conf ft_conf
static struct m0_fop * fop
M0_INTERNAL void m0_fom_callback_cancel(struct m0_fom_callback *cb)
struct m0_fom_locality ** fd_localities
M0_INTERNAL void m0_fom_queue(struct m0_fom *fom)
struct m0_addb2_sys * fd_addb2_sys
void(* fo_fini)(struct m0_fom *fom)
struct m0_fop * fo_rep_fop
M0_INTERNAL int m0_fom_fol_rec_add(struct m0_fom *fom)
static void fom_type(struct m0_addb2__context *ctx, const uint64_t *v, char *buf)
M0_INTERNAL void m0_fom_locality_inc(struct m0_fom *fom)
struct m0_addb2_hist fl_wail_counter
void m0_fom_phase_set(struct m0_fom *fom, int phase)
M0_INTERNAL void m0_fom_timeout_init(struct m0_fom_timeout *to)
static struct m0_dtm_oper_descr reply
const struct m0_reqh_service_type * ft_rstype
M0_INTERNAL struct m0_reqh * m0_fom2reqh(const struct m0_fom *fom)
struct m0_fom_callback fo_cb
struct m0_sm_conf ft_state_conf
M0_INTERNAL struct m0_reqh * m0_fom_reqh(const struct m0_fom *fom)
M0_INTERNAL void m0_fom_timeout_cancel(struct m0_fom_timeout *to)
M0_INTERNAL bool m0_fom_invariant(const struct m0_fom *fom)
enum m0_fc_state fc_state
M0_INTERNAL const char * m0_fom_phase_name(const struct m0_fom *fom, int phase)