23 #ifndef __MOTR_CONF_CONFC_H__ 24 #define __MOTR_CONF_CONFC_H__ 504 uint64_t timeout_ns);
678 #define m0_confc_open(ctx, origin, ...) \ 679 m0_confc__open((ctx), (origin), (const struct m0_fid []){ \ 680 __VA_ARGS__, M0_FID0 }) 683 const struct m0_fid *path);
707 #define m0_confc_open_sync(result, origin, ...) \ 708 m0_confc__open_sync((result), (origin), (const struct m0_fid []){ \ 709 __VA_ARGS__, M0_FID0 }) 712 const struct m0_fid *path);
M0_INTERNAL void m0_confc_open_by_fid(struct m0_confc_ctx *ctx, const struct m0_fid *fid)
struct m0_sm_group * cc_group
struct m0_conf_obj * cc_root
M0_INTERNAL struct m0_conf_obj * m0_confc_ctx_result(struct m0_confc_ctx *ctx)
M0_INTERNAL int m0_confc_readdir(struct m0_confc_ctx *ctx, struct m0_conf_obj *dir, struct m0_conf_obj **pptr)
bool(* go_check)(struct m0_confc *confc)
M0_INTERNAL int m0_confc__open_sync(struct m0_conf_obj **result, struct m0_conf_obj *origin, const struct m0_fid *path)
int(* go_skip)(struct m0_confc *confc)
M0_INTERNAL int m0_confc_readdir_sync(struct m0_conf_obj *dir, struct m0_conf_obj **pptr)
M0_INTERNAL struct m0_rpc_conn * m0_confc2conn(struct m0_confc *confc)
struct m0_confc * fc_confc
struct m0_conf_obj * fc_result
M0_INTERNAL int m0_confc_open_by_fid_sync(struct m0_confc *confc, const struct m0_fid *fid, struct m0_conf_obj **result)
struct m0_confc_gate_ops * cc_gops
M0_INTERNAL void m0_confc_close(struct m0_conf_obj *obj)
M0_INTERNAL int32_t m0_confc_ctx_error(const struct m0_confc_ctx *ctx)
M0_INTERNAL struct m0_rpc_session * m0_confc2sess(struct m0_confc *confc)
static struct m0_confc * confc
M0_INTERNAL void m0_confc__open(struct m0_confc_ctx *ctx, struct m0_conf_obj *origin, const struct m0_fid *path)
bool(* go_drain)(struct m0_clink *clink)
struct m0_conf_cache cc_cache
const char * confd_addr[]
M0_INTERNAL int m0_confc_reconnect(struct m0_confc *confc, struct m0_rpc_machine *rpc_mach, const char *confd_addr)
M0_INTERNAL bool m0_confc_invariant(const struct m0_confc *confc)
M0_INTERNAL bool m0_confc_is_online(const struct m0_confc *confc)
M0_INTERNAL void m0_confc_ctx_fini(struct m0_confc_ctx *ctx)
M0_INTERNAL struct m0_confc * m0_confc_from_obj(const struct m0_conf_obj *obj)
static struct m0_clink clink[RDWR_REQUEST_MAX]
struct m0_fid fc_path[M0_CONF_PATH_MAX+1]
enum m0_confc_state cus_state
M0_INTERNAL int m0_confc_ctx_init(struct m0_confc_ctx *ctx, struct m0_confc *confc)
struct m0_rpc_link cc_rlink
struct m0_rpc_item * fc_rpc_item
struct m0_mutex cc_unatt_guard
M0_INTERNAL int m0_confc_init_wait(struct m0_confc *confc, struct m0_sm_group *sm_group, const char *confd_addr, struct m0_rpc_machine *rpc_mach, const char *local_conf, uint64_t timeout_ns)
M0_INTERNAL int m0_confc_init(struct m0_confc *confc, struct m0_sm_group *sm_group, const char *confd_addr, struct m0_rpc_machine *rpc_mach, const char *local_conf)
M0_INTERNAL void m0_confc_fini(struct m0_confc *confc)
M0_INTERNAL void m0_confc_ctx_fini_locked(struct m0_confc_ctx *ctx)
M0_INTERNAL bool m0_confc_ctx_is_completed(const struct m0_confc_ctx *ctx)
M0_INTERNAL bool m0_confc_ctx_is_completed_lock(const struct m0_confc_ctx *ctx)
M0_INTERNAL int32_t m0_confc_ctx_error_lock(const struct m0_confc_ctx *ctx)
struct m0_chan cc_unattached
M0_INTERNAL void m0_confc_gate_ops_set(struct m0_confc *confc, struct m0_confc_gate_ops *gops)
M0_INTERNAL bool m0_confc_is_inited(const struct m0_confc *confc)
struct m0_conf_obj * fc_origin