Motr
M0
|
#include "lib/queue.h"
#include "lib/thread.h"
#include "lib/bitmap.h"
#include "lib/mutex.h"
#include "lib/chan.h"
#include "lib/atomic.h"
#include "lib/tlist.h"
#include "lib/locality.h"
#include "dtm/dtm.h"
#include "fol/fol.h"
#include "stob/stob.h"
#include "addb2/counter.h"
#include "addb2/histogram.h"
#include "addb2/sys.h"
Go to the source code of this file.
Data Structures | |
struct | m0_fom_locality |
struct | m0_fom_domain |
struct | m0_fom_domain_ops |
struct | m0_fom_callback |
struct | m0_fom |
struct | m0_fom_type |
struct | m0_fom_type_ops |
struct | m0_fom_ops |
struct | m0_fom_timeout |
Macros | |
#define | __MOTR_FOP_FOM_H__ |
#define | FOM_PHASE_DEBUG (1) |
Enumerations | |
enum | m0_fom_state { M0_FOS_INIT, M0_FOS_READY, M0_FOS_RUNNING, M0_FOS_WAITING, M0_FOS_FINISH } |
enum | { M0_FOS_TRANS_NR = 8 } |
enum | m0_fom_phase { M0_FOM_PHASE_INIT, M0_FOM_PHASE_FINISH, M0_FOM_PHASE_NR } |
enum | m0_fc_state { M0_FCS_ARMED = 1, M0_FCS_DONE } |
enum | m0_fom_phase_outcome { M0_FSO_WAIT = 1, M0_FSO_AGAIN, M0_FSO_NR } |
Functions | |
M0_INTERNAL bool | m0_locality_invariant (const struct m0_fom_locality *loc) |
M0_INTERNAL void | m0_fom_locality_post_stats (struct m0_fom_locality *loc) |
M0_INTERNAL int | m0_fom_domain_init (struct m0_fom_domain **out) |
M0_INTERNAL void | m0_fom_domain_fini (struct m0_fom_domain *dom) |
M0_INTERNAL bool | m0_fom_domain_is_idle (const struct m0_fom_domain *dom) |
M0_INTERNAL bool | m0_fom_domain_is_idle_for (const struct m0_reqh_service *svc) |
M0_INTERNAL bool | m0_fom_domain_invariant (const struct m0_fom_domain *dom) |
M0_INTERNAL void | m0_fom_locality_inc (struct m0_fom *fom) |
M0_INTERNAL bool | m0_fom_locality_dec (struct m0_fom *fom) |
static struct m0_be_tx * | m0_fom_tx (struct m0_fom *fom) |
static struct m0_be_tx_credit * | m0_fom_tx_credit (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_queue (struct m0_fom *fom) |
M0_INTERNAL struct m0_reqh * | m0_fom_reqh (const struct m0_fom *fom) |
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) |
void | m0_fom_fini (struct m0_fom *fom) |
M0_INTERNAL bool | m0_fom_invariant (const struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_block_enter (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_block_leave (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_ready (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_wakeup (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_callback_init (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_is_waiting_on (const struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_wait_on (struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb) |
M0_INTERNAL void | m0_fom_callback_fini (struct m0_fom_callback *cb) |
M0_INTERNAL void | m0_fom_callback_cancel (struct m0_fom_callback *cb) |
M0_INTERNAL void | m0_fom_timeout_init (struct m0_fom_timeout *to) |
M0_INTERNAL void | m0_fom_timeout_fini (struct m0_fom_timeout *to) |
M0_INTERNAL int | m0_fom_timeout_wait_on (struct m0_fom_timeout *to, struct m0_fom *fom, m0_time_t deadline) |
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) |
M0_INTERNAL void | m0_fom_timeout_cancel (struct m0_fom_timeout *to) |
M0_INTERNAL bool | m0_fom_group_is_locked (const struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_sm_init (struct m0_fom *fom) |
void | m0_fom_phase_set (struct m0_fom *fom, int phase) |
void | m0_fom_phase_move (struct m0_fom *fom, int32_t rc, int phase) |
void | m0_fom_phase_moveif (struct m0_fom *fom, int32_t rc, int phase0, int phase1) |
int | m0_fom_phase (const struct m0_fom *fom) |
M0_INTERNAL const char * | m0_fom_phase_name (const struct m0_fom *fom, int phase) |
M0_INTERNAL int | m0_fom_rc (const struct m0_fom *fom) |
M0_INTERNAL bool | m0_fom_is_waiting (const struct m0_fom *fom) |
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) |
M0_INTERNAL int | m0_fom_addb2_init (struct m0_fom_type *type, uint64_t id) |
M0_INTERNAL int | m0_fom_fol_rec_add (struct m0_fom *fom) |
M0_INTERNAL void | m0_fom_fdmi_record_post (struct m0_fom *fom) |
M0_INTERNAL struct m0_reqh * | m0_fom2reqh (const struct m0_fom *fom) |
M0_INTERNAL int | m0_fom_timedwait (struct m0_fom *fom, uint64_t phases, m0_time_t deadline) |