30 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CM 57 .
sd_name =
"Prepare copy machine",
63 .sd_name =
"Send ready fops",
67 .sd_name =
"Start repair/rebalance",
136 fom->fo_rep_fop = rfop;
308 if (
rc < 0 &&
rc != -EAGAIN) {
380 .rpc_flags = rpc_flags);
383 #undef M0_TRACE_SUBSYSTEM
uint32_t m0_fop_opcode(const struct m0_fop *fop)
M0_INTERNAL void m0_cm_lock(struct m0_cm *cm)
M0_INTERNAL int m0_trigger_fom_create(struct m0_trigger_fom *tfom, struct m0_fop *fop, struct m0_reqh *reqh)
M0_INTERNAL void m0_fom_block_enter(struct m0_fom *fom)
static int prepare(struct m0_fom *fom)
#define M0_FOP_TYPE_INIT(ft,...)
#define M0_LOG(level,...)
M0_INTERNAL void m0_cm_wait_cancel(struct m0_cm *cm, struct m0_fom *fom)
static const struct m0_fom_ops trigger_fom_ops
void * m0_fop_data(const struct m0_fop *fop)
void m0_fop_type_fini(struct m0_fop_type *fopt)
M0_INTERNAL void m0_sm_conf_extend(const struct m0_sm_state_descr *base, struct m0_sm_state_descr *sub, uint32_t nr)
static size_t trigger_fom_home_locality(const struct m0_fom *fom)
M0_INTERNAL int m0_cm_start(struct m0_cm *cm)
#define container_of(ptr, type, member)
static struct m0_xcode_type ** xt[]
const struct m0_sm_conf m0_generic_conf
struct m0_fom_type ft_fom_type
M0_INTERNAL void m0_cm_unlock(struct m0_cm *cm)
static void trigger_rep_set(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)
struct m0_fop_type * f_type
return M0_ERR(-EOPNOTSUPP)
static int(* trig_action[])(struct m0_fom *)
static void trigger_fom_fini(struct m0_fom *fom)
int m0_fom_tick_generic(struct m0_fom *fom)
void m0_fom_fini(struct m0_fom *fom)
M0_INTERNAL void m0_cm_wait(struct m0_cm *cm, struct m0_fom *fom)
void(* fto_prepare)(struct m0_fom *fom)
void m0_fom_phase_move(struct m0_fom *fom, int32_t rc, int phase)
M0_INTERNAL void m0_cm_trigger_fop_fini(struct m0_fop_type *ft)
M0_INTERNAL void m0_fom_block_leave(struct m0_fom *fom)
static struct m0_trigger_fom * trig2tfom(const struct m0_fom *fom)
void m0_rpc_reply_post(struct m0_rpc_item *request, struct m0_rpc_item *reply)
M0_INTERNAL int m0_cm_ready(struct m0_cm *cm)
const struct m0_sm_conf m0_trigger_conf
struct m0_fop * m0_fop_reply_alloc(struct m0_fop *req, struct m0_fop_type *rept)
M0_INTERNAL int m0_cm_prepare(struct m0_cm *cm)
struct m0_cm_sw_update cm_sw_update
struct m0_sm_state_descr * scf_state
#define M0_FI_ENABLED(tag)
uint64_t(* fto_progress)(struct m0_fom *fom, bool reinit_counter)
struct m0_reqh_service cm_service
M0_INTERNAL void m0_cm_proxies_init_wait(struct m0_cm *cm, struct m0_fom *fom)
M0_INTERNAL int m0_fom_rc(const struct m0_fom *fom)
struct m0_rpc_item * m0_fop_to_rpc_item(const struct m0_fop *fop)
static struct m0_cm * trig2cm(const struct m0_fom *fom)
static int start(struct m0_fom *fom)
M0_INTERNAL enum m0_cm_state m0_cm_state_get(const struct m0_cm *cm)
static struct m0_fop * fop
struct m0_reqh_service_type ct_stype
const struct m0_fom_trigger_ops * tf_ops
void(* fo_fini)(struct m0_fom *fom)
static int ready(struct m0_fom *fom)
static struct m0_fop_type * ft[]
M0_INTERNAL void m0_cm_trigger_fop_init(struct m0_fop_type *ft, enum M0_RPC_OPCODES op, const char *name, const struct m0_xcode_type *xt, uint64_t rpc_flags, struct m0_cm_type *cmt, const struct m0_fom_type_ops *ops)
void m0_fom_phase_set(struct m0_fom *fom, int phase)
struct m0_fop_type *(* fto_type)(uint32_t op)
M0_INTERNAL void m0_cm_abort(struct m0_cm *cm, int rc)
static int trigger_fom_tick(struct m0_fom *fom)