25 #ifndef __MOTR_POOL_POOL_H__ 26 #define __MOTR_POOL_POOL_H__ 32 #include "lib/tlist_xc.h" 38 #include "pool/pool_machine_xc.h" 285 uint32_t nr_failures,
540 struct m0_io_req *
req);
M0_INTERNAL int m0_dix_pool_version_get(struct m0_pools_common *pc, struct m0_pool_version **pv)
struct m0_layout_instance * pc_md_pool_linst
M0_INTERNAL int m0_poolserver_io_req(struct m0_poolserver *srv, struct m0_io_req *req)
M0_INTERNAL void m0_pools_common_fini(struct m0_pools_common *pc)
M0_INTERNAL int m0_pool_version_append(struct m0_pools_common *pc, struct m0_conf_pver *pver, struct m0_pool_version **pv)
int rl_network_throughput
enum m0_pool_spare_usage_format_version M0_XCA_DOMAIN
M0_INTERNAL void m0_pool_fini(struct m0_pool *pool)
uint32_t pd_state M0_XCA_FENUM(m0_pool_nd_state)
struct m0_format_header pn_header
M0_INTERNAL bool m0_pools_is_locked(struct m0_pools_common *pc)
M0_INTERNAL void m0_pools_unlock(struct m0_pools_common *pc)
struct m0_pool * pc_dix_pool
int rl_processor_throughput
M0_INTERNAL struct m0_pool_version * m0_pool_version_find(struct m0_pools_common *pc, const struct m0_fid *id)
M0_INTERNAL int m0_pool_version_init_by_conf(struct m0_pool_version *pv, struct m0_conf_pver *pver, struct m0_pool *pool, struct m0_pools_common *pc)
static struct io_request req
M0_TL_DESCR_DECLARE(pools_common_svc_ctx, M0_EXTERN)
struct m0_pool_version * pv
struct m0_poolmach pv_mach
struct m0_mutex pc_rm_lock
uint32_t pv_fd_tol_vec[M0_CONF_PVER_HEIGHT]
M0_INTERNAL int m0_pool_versions_init_by_conf(struct m0_pool *pool, struct m0_pools_common *pc, const struct m0_conf_pool *cp, struct m0_sm_group *sm_grp, struct m0_dtm *dtm)
struct m0_reqh_service_ctx * pc_rm_ctx
struct m0_format_footer psu_footer
struct m0_pool * pc_md_pool
M0_INTERNAL int m0_poolserver_off(struct m0_poolserver *srv)
M0_INTERNAL int m0_pools_setup(struct m0_pools_common *pc, const struct m0_fid *profile, struct m0_sm_group *sm_grp, struct m0_dtm *dtm)
struct m0_fid pd_sdev_fid
struct m0_poolnode ps_node
M0_INTERNAL struct m0_reqh_service_ctx * m0_pools_common_service_ctx_find(const struct m0_pools_common *pc, const struct m0_fid *id, enum m0_conf_service_type type)
struct m0_poolmach * pn_pm
static struct m0_pools_common pc
M0_INTERNAL int m0_pool_init(struct m0_pool *pool, const struct m0_fid *id, enum m0_pver_policy_code pver_policy)
uint64_t pc_nr_svcs[M0_CST_NR]
M0_INTERNAL const char * m0_pool_dev_state_to_str(enum m0_pool_nd_state state)
struct m0_be_clink pd_clink
M0_INTERNAL struct m0_pool_version * m0_pool_version_md_get(const struct m0_pools_common *pc)
M0_INTERNAL int m0_pool_device_reopen(struct m0_poolmach *pm, struct m0_reqh *rs_reqh)
struct m0_poolnode * pd_node
struct m0_reqh_service_ctx ** pc_mds_map
struct m0_conf_root * root
M0_INTERNAL bool m0_pools_common_conf_ready_async_cb(struct m0_clink *clink)
m0_pool_spare_usage_format_version
struct m0_tlink po_linkage
M0_INTERNAL void m0_pool_versions_stale_mark(struct m0_pools_common *pc, struct m0_confc_update_state *s)
M0_INTERNAL int m0__pools_common_init(struct m0_pools_common *pc, struct m0_rpc_machine *rmach, struct m0_conf_root *root)
uint32_t pc_md_redundancy
M0_INTERNAL uint64_t m0_pool_version2layout_id(const struct m0_fid *pv_fid, uint64_t lid)
M0_INTERNAL int m0_pool_version_get(struct m0_pools_common *pc, const struct m0_fid *pool, struct m0_pool_version **pv)
M0_INTERNAL int m0_pool_device_state_update(struct m0_reqh *reqh, struct m0_be_tx *tx, struct m0_fid *dev_fid, enum m0_pool_nd_state new_state)
struct m0_format_header psu_header
struct m0_fd_tree pv_fd_tree
M0_INTERNAL int m0_pools_init(void)
M0_TL_DECLARE(pools_common_svc_ctx, M0_EXTERN, struct m0_reqh_service_ctx)
struct m0_clink pc_conf_exp
struct m0_poolmach * pd_pm
struct m0_format_header pd_header
M0_INTERNAL void m0_pools_common_service_ctx_connect_sync(struct m0_pools_common *pc)
static struct net_test_cmd_node nodes[NTC_MULTIPLE_NODES]
M0_INTERNAL int m0_poolserver_device_leave(struct m0_poolserver *srv, struct m0_pooldev *dev)
struct m0_fd_tile pv_fd_tile
M0_INTERNAL int m0_pool_version_init(struct m0_pool_version *pv, const struct m0_fid *id, struct m0_pool *pool, uint32_t pool_width, uint32_t nr_nodes, uint32_t nr_data, uint32_t nr_failures, uint32_t nr_spare)
struct m0_tlink pd_fail_linkage
M0_INTERNAL void m0_pool_versions_fini(struct m0_pool *pool)
m0_pooldev_format_version
M0_BASSERT(sizeof(enum m0_pool_nd_state)==4)
M0_INTERNAL void m0_pools_service_ctx_destroy(struct m0_pools_common *pc)
struct m0_pools_common * pv_pc
M0_INTERNAL void m0_pooldev_clink_add(struct m0_clink *link, struct m0_chan *chan)
M0_INTERNAL void m0_pools_fini(void)
uint32_t psu_device_state M0_XCA_FENUM(m0_pool_nd_state)
int rl_storage_throughput
struct m0_tlink pv_linkage
struct m0_pool_device_to_service * pc_dev2svc
static struct m0_clink clink[RDWR_REQUEST_MAX]
M0_INTERNAL void m0_pools_lock(struct m0_pools_common *pc)
struct m0_confc * pc_confc
struct m0_fid pds_sdev_fid
struct m0_format_footer pd_footer
M0_INTERNAL void m0_pool_version_fini(struct m0_pool_version *pv)
static struct m0_pool pool
struct m0_reqh_service_ctx * pds_ctx
struct m0_rpc_machine * pc_rmach
M0_INTERNAL int m0_poolserver_init(struct m0_poolserver *srv)
M0_INTERNAL void m0_poolnode_clink_add(struct m0_clink *link, struct m0_chan *chan)
static struct m0_fid pv_fid
M0_INTERNAL int m0_poolserver_reset(struct m0_poolserver *srv)
struct m0_tl pc_abandoned_svc_ctxs
static struct m0_fid profile
M0_INTERNAL int m0_pools_common_init(struct m0_pools_common *pc, struct m0_rpc_machine *rmach)
static struct m0_chan chan[RDWR_REQUEST_MAX]
M0_INTERNAL void m0_poolserver_fini(struct m0_poolserver *srv)
M0_INTERNAL int m0_pools_service_ctx_create(struct m0_pools_common *pc)
M0_INTERNAL struct m0_pool_version * m0_pool_version_dix_get(const struct m0_pools_common *pc)
struct m0_pver_policy * po_pver_policy
struct m0_be_clink pn_clink
M0_INTERNAL int m0_poolserver_device_join(struct m0_poolserver *srv, struct m0_pooldev *dev)
uint32_t psu_device_index
uint32_t pn_state M0_XCA_FENUM(m0_pool_nd_state)
struct m0_clink pc_conf_ready_async
M0_INTERNAL struct m0_rpc_session * m0_pools_common_active_rm_session(struct m0_pools_common *pc)
M0_INTERNAL uint32_t m0_ha2pm_state_map(enum m0_ha_obj_state hastate)
M0_INTERNAL void m0_pooldev_clink_del(struct m0_clink *cl)
struct m0_pool_version * pc_cur_pver
struct m0_rlimit ps_rl_usage
M0_INTERNAL struct m0_pool_version * m0_pool_clean_pver_find(const struct m0_pool *pool)
M0_INTERNAL int m0_pool_versions_setup(struct m0_pools_common *pc)
M0_INTERNAL void m0_pool_versions_destroy(struct m0_pools_common *pc)
M0_INTERNAL void m0_poolnode_clink_del(struct m0_clink *cl)
M0_INTERNAL struct m0_pool_version * m0_pool_version_lookup(const struct m0_pools_common *pc, const struct m0_fid *id)
static struct m0_addb2_source * s
struct m0_pdclust_attr pv_attr
M0_INTERNAL int m0_poolserver_on(struct m0_poolserver *srv)
static struct m0_be_ut_backend be
m0_poolnode_format_version
struct m0_clink pc_ha_clink
struct m0_format_footer pn_footer
static struct net_srv srv
struct m0_ha_entrypoint_client * pc_ha_ecl
M0_INTERNAL struct m0_pool * m0_pool_find(struct m0_pools_common *pc, const struct m0_fid *pool)
M0_INTERNAL void m0_pools_destroy(struct m0_pools_common *pc)
struct m0_tl po_failed_devices