Motr
M0
|
#include <fom.h>
Data Fields | |
struct m0_fom_locality * | fo_loc |
size_t | fo_loc_idx |
const struct m0_fom_type * | fo_type |
const struct m0_fom_ops * | fo_ops |
struct m0_fom_callback | fo_cb |
struct m0_fop * | fo_fop |
struct m0_fop * | fo_rep_fop |
struct m0_dtx | fo_tx |
bool | fo_local |
struct m0_reqh_service * | fo_service |
struct m0_tlink | fo_linkage |
unsigned | fo_transitions |
unsigned | fo_transitions_saved |
struct m0_sm | fo_sm_phase |
struct m0_sm | fo_sm_state |
struct m0_loc_thread * | fo_thread |
struct m0_fom_callback * | fo_pending |
int | fo_log [32] |
uint64_t | fo_magic |
Fop state machine.
Once the fom is initialised, fom invariant, should hold true as fom execution enters various phases, including before fom is finalised.
m0_fom is usually embedded into an ambient fom-type-specific object allocated by m0_fom_type_ops::fto_create() or other means.
m0_fom is geared towards supporting foms executing file operation requests (fops), but can be used for any kind of server activity.
struct m0_fom_callback fo_cb |
struct m0_tlink fo_linkage |
struct m0_fom_locality* fo_loc |
bool fo_local |
const struct m0_fom_ops* fo_ops |
struct m0_fom_callback* fo_pending |
struct m0_reqh_service* fo_service |
struct m0_sm fo_sm_phase |
struct m0_loc_thread* fo_thread |
unsigned fo_transitions |
unsigned fo_transitions_saved |
struct m0_dtx fo_tx |
Transaction object to be used by this fom.
const struct m0_fom_type* fo_type |