30 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_DIX 49 .sd_name =
"bootstrap_mode",
53 .sd_name =
"starting",
144 &(
struct m0_ext) { .e_start = 0,
145 .e_end = IMASK_INF },
317 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL int m0_dix__layout_set(const struct m0_dix_cli *cli, struct m0_dix *out)
struct m0_dix_layout dd_layout
M0_INTERNAL void m0_sm_fail(struct m0_sm *mach, int fail_state, int32_t rc)
M0_INTERNAL void m0_dix_cli_stop_lock(struct m0_dix_cli *cli)
static void dix_cli_state_set(struct m0_dix_cli *cli, enum m0_dix_cli_state state)
M0_INTERNAL void m0_clink_init(struct m0_clink *link, m0_chan_cb_t cb)
static struct m0_sm_state_descr dix_cli_states[]
M0_INTERNAL int m0_dix__root_set(const struct m0_dix_cli *cli, struct m0_dix *out)
M0_INTERNAL void m0_clink_del_lock(struct m0_clink *link)
static enum m0_dix_cli_state dix_cli_state(const struct m0_dix_cli *cli)
void(* sa_cb)(struct m0_sm_group *grp, struct m0_sm_ast *)
M0_INTERNAL int m0_dix_desc_set(struct m0_dix *dix, const struct m0_dix_ldesc *desc)
const m0_time_t M0_TIME_NEVER
M0_INTERNAL struct m0_pool_version * m0_pool_version_find(struct m0_pools_common *pc, const struct m0_fid *id)
M0_INTERNAL int m0_dix_root_read(struct m0_dix_meta_req *req)
static struct m0_sm_group * grp
#define M0_LOG(level,...)
M0_INTERNAL const struct m0_fid m0_dix_layout_fid
struct m0_dix_meta_req dx_mreq
M0_INTERNAL void m0_sm_ast_post(struct m0_sm_group *grp, struct m0_sm_ast *ast)
M0_INTERNAL void m0_dix_meta_req_init(struct m0_dix_meta_req *req, struct m0_dix_cli *cli, struct m0_sm_group *grp)
M0_INTERNAL bool m0_dix_cli_is_locked(const struct m0_dix_cli *cli)
M0_INTERNAL const char * m0_sm_state_name(const struct m0_sm *mach, int state)
M0_INTERNAL int m0_dix_root_read_rep(struct m0_dix_meta_req *req, struct m0_dix_ldesc *layout, struct m0_dix_ldesc *ldescr)
static struct m0_sm_group * dix_cli_smgrp(const struct m0_dix_cli *cli)
struct m0_pool_version * dx_pver
#define container_of(ptr, type, member)
void(* dx_sync_rec_update)(struct m0_dix_req *, struct m0_rpc_session *, struct m0_be_tx_remid *)
static struct m0_pools_common pc
M0_INTERNAL int m0_sm_timedwait(struct m0_sm *mach, uint64_t states, m0_time_t deadline)
static struct m0_sm_ast ast[NR]
M0_INTERNAL void m0_sm_group_unlock(struct m0_sm_group *grp)
struct m0_dtm0_service * dx_dtms
M0_INTERNAL void m0_dix_cli_unlock(struct m0_dix_cli *cli)
static struct m0_sm_trans_descr dix_cli_trans[]
M0_INTERNAL void m0_dix_cli_fini(struct m0_dix_cli *cli)
M0_INTERNAL void m0_dix_cli_lock(struct m0_dix_cli *cli)
M0_INTERNAL bool m0_mutex_is_locked(const struct m0_mutex *mutex)
struct m0_dix_ldesc dx_ldescr
M0_INTERNAL int m0_dix_cli_start_sync(struct m0_dix_cli *cli)
void m0_sm_state_set(struct m0_sm *mach, int state)
struct m0_dix_ldesc dx_root
static void dix_cli_failure(struct m0_dix_cli *cli, int32_t rc)
M0_INTERNAL int m0_dix_ldesc_init(struct m0_dix_ldesc *ld, struct m0_ext *range, m0_bcount_t range_nr, enum m0_dix_hash_fnc_type htype, struct m0_fid *pver)
struct m0_sm_group * sm_grp
M0_INTERNAL void m0_dix_meta_req_fini(struct m0_dix_meta_req *req)
M0_INTERNAL int m0_dix__ldescr_set(const struct m0_dix_cli *cli, struct m0_dix *out)
M0_INTERNAL void m0_dix_cli_start(struct m0_dix_cli *cli)
static void dix_cli_start_ast_cb(struct m0_sm_group *grp M0_UNUSED, struct m0_sm_ast *ast)
struct m0_dix_ldesc dx_layout
union m0_dix_layout::@145 u
struct m0_layout_domain * dx_ldom
static const struct m0_sm_conf dix_cli_sm_conf
M0_INTERNAL int m0_dix_cli_init(struct m0_dix_cli *cli, struct m0_sm_group *sm_group, struct m0_pools_common *pc, struct m0_layout_domain *ldom, const struct m0_fid *pver)
M0_INTERNAL void m0_dix_ldesc_fini(struct m0_dix_ldesc *ld)
void m0_clink_add_lock(struct m0_chan *chan, struct m0_clink *link)
struct m0_pools_common * dx_pc
M0_INTERNAL void m0_dix_cli_bootstrap_lock(struct m0_dix_cli *cli)
M0_INTERNAL const struct m0_fid m0_dix_ldescr_fid
M0_INTERNAL void m0_sm_init(struct m0_sm *mach, const struct m0_sm_conf *conf, uint32_t state, struct m0_sm_group *grp)
static void dix_meta_read_ast_cb(struct m0_sm_group *grp, struct m0_sm_ast *ast)
M0_INTERNAL int m0_dix_meta_generic_rc(const struct m0_dix_meta_req *req)
static void dix_cli_ast_post(struct m0_dix_cli *cli, void(*cb)(struct m0_sm_group *, struct m0_sm_ast *))
M0_INTERNAL void m0_clink_fini(struct m0_clink *link)
M0_INTERNAL void m0_sm_group_lock(struct m0_sm_group *grp)
M0_INTERNAL void m0_dix_cli_bootstrap(struct m0_dix_cli *cli)
static bool dix_cli_meta_read_clink_cb(struct m0_clink *cl)
M0_INTERNAL struct m0_pool_version * m0_dix_pver(const struct m0_dix_cli *cli, const struct m0_dix *dix)
M0_INTERNAL void m0_dix_cli_fini_lock(struct m0_dix_cli *cli)
M0_INTERNAL const struct m0_fid m0_dix_root_fid
M0_INTERNAL void m0_dix_cli_stop(struct m0_dix_cli *cli)
M0_INTERNAL void m0_sm_fini(struct m0_sm *mach)