25 #ifndef __MOTR_SNS_CM_H__ 26 #define __MOTR_SNS_CM_H__ 157 uint32_t *in_units_nr,
330 uint64_t data_seg_nr);
uint64_t(* sch_ag_unit_start)(const struct m0_pdclust_layout *pl)
struct m0_rm_resource_type rc_rt
struct m0_sns_cm_buf_pool sc_obp
struct m0_htable sc_file_ctx
M0_INTERNAL void m0_sns_cm_repair_sw_onwire_fop_fini(void)
struct m0_rm_domain rc_dom
M0_INTERNAL struct m0_sns_cm * cm2sns(struct m0_cm *cm)
M0_INTERNAL void m0_sns_cm_rebalance_trigger_fop_init(void)
M0_INTERNAL int m0_sns_cm_has_space_for(struct m0_sns_cm *scm, struct m0_pdclust_layout *pl, uint64_t nr_bufs)
M0_INTERNAL void m0_sns_cm_rebalance_sw_onwire_fop_fini(void)
m0_time_t sc_last_status_print_time
static struct m0_sns_cm * scm
M0_INTERNAL int m0_sns_cm_setup(struct m0_cm *cm)
M0_INTERNAL size_t m0_sns_cm_buffer_pool_provision(struct m0_net_buffer_pool *bp, size_t bufs_nr)
M0_INTERNAL void m0_sns_cm_rebalance_sw_onwire_fop_init(void)
struct m0_sns_cm_buf_pool sc_ibp
M0_INTERNAL int m0_sns_cm_buf_attach(struct m0_net_buffer_pool *bp, struct m0_cm_cp *cp)
struct m0_pools_common * rc_pc
M0_INTERNAL void m0_sns_cm_repair_trigger_fop_init(void)
int(* sch_ag_in_cp_units)(const struct m0_sns_cm *scm, const struct m0_cm_ag_id *id, struct m0_sns_cm_file_ctx *fctx, uint32_t *in_cp_nr, uint32_t *in_units_nr, struct m0_cm_proxy_in_count *pcount)
M0_INTERNAL void m0_sns_cm_ha_msg(struct m0_cm *cm, struct m0_ha_msg *msg, int rc)
static struct m0_sns_cm_ag * sag
M0_INTERNAL enum sns_repair_state m0_sns_cm_fid_repair_done(struct m0_fid *gfid, struct m0_reqh *reqh, enum m0_pool_nd_state device_state)
struct m0_mutex sc_file_ctx_mutex
M0_INTERNAL int m0_sns_cm_start(struct m0_cm *cm)
M0_INTERNAL void m0_sns_cm_stop(struct m0_cm *cm)
m0_sns_cm_local_unit_type
M0_INTERNAL uint64_t m0_sns_cm_cp_buf_nr(struct m0_net_buffer_pool *bp, uint64_t data_seg_nr)
static struct m0_fid cob_fid
struct m0_sns_cm_ag_iter sc_ag_it
M0_INTERNAL void m0_sns_cm_buffer_pools_prune(struct m0_cm *cm)
M0_INTERNAL int m0_sns_cm_prepare(struct m0_cm *cm)
M0_INTERNAL int m0_sns_cm_rm_init(struct m0_sns_cm *scm)
bool(* sch_ag_is_relevant)(struct m0_sns_cm *scm, struct m0_sns_cm_file_ctx *fctx, uint64_t group)
uint64_t(* sch_ag_unit_end)(const struct m0_pdclust_layout *pl)
struct m0_cob_domain * sc_cob_dom
M0_INTERNAL struct m0_net_buffer * m0_sns_cm_buffer_get(struct m0_net_buffer_pool *bp, size_t colour)
M0_INTERNAL void m0_sns_cm_repair_sw_onwire_fop_init(void)
M0_INTERNAL void m0_sns_cm_buf_wait(struct m0_sns_cm_buf_pool *sbp, struct m0_fom *fom)
M0_INTERNAL void m0_sns_cm_type_deregister(void)
M0_INTERNAL void m0_sns_cm_rebalance_trigger_fop_fini(void)
M0_INTERNAL bool m0_sns_is_peer(struct m0_cm *cm, struct m0_reqh_service_ctx *ctx)
struct m0_net_buffer_pool sb_bp
M0_INTERNAL uint64_t m0_sns_cm_data_seg_nr(struct m0_sns_cm *scm, struct m0_pdclust_layout *pl)
uint64_t sc_ibp_reserved_nr
size_t * sc_total_read_size
M0_INTERNAL void m0_sns_cm_buffer_put(struct m0_net_buffer_pool *bp, struct m0_net_buffer *buf, uint64_t colour)
M0_INTERNAL int m0_sns_cm_type_register(void)
M0_INTERNAL void m0_sns_cm_cancel_reservation(struct m0_sns_cm *scm, size_t nr_bufs)
struct m0_sns_cm_rm_ctx sc_rm_ctx
M0_INTERNAL void m0_sns_cm_print_status(struct m0_sns_cm *scm)
M0_INTERNAL int m0_sns_cm_fail_dev_log(struct m0_cm *cm, enum m0_pool_nd_state state)
M0_INTERNAL int64_t m0_sns_cm_incoming_reserve_bufs(struct m0_sns_cm *scm, const struct m0_cm_ag_id *id)
static struct m0_sns_cm_file_ctx fctx
struct m0_sns_cm_iter sc_it
M0_INTERNAL struct m0_cm_cp * m0_sns_cm_cp_alloc(struct m0_cm *cm)
static struct bulkio_params * bp
M0_INTERNAL void m0_sns_cm_fini(struct m0_cm *cm)
int(* sch_ag_setup)(struct m0_sns_cm_ag *sag, struct m0_pdclust_layout *pl)
M0_INTERNAL void m0_sns_cm_repair_trigger_fop_fini(void)
M0_INTERNAL void m0_sns_cm_complete(struct m0_cm *cm)
bool(* sch_is_cob_failed)(struct m0_poolmach *pm, uint32_t cob_index)
int(* sch_cob_locate)(struct m0_sns_cm *scm, struct m0_cob_domain *cdom, struct m0_poolmach *pm, const struct m0_fid *cob_fid)
M0_INTERNAL void m0_sns_cm_rm_fini(struct m0_sns_cm *scm)
const struct m0_sns_cm_helpers * sc_helpers
M0_INTERNAL int m0_sns_cm_ag_next(struct m0_cm *cm, const struct m0_cm_ag_id *id_curr, struct m0_cm_ag_id *id_next)
M0_INTERNAL void m0_sns_cm_reserve_space(struct m0_sns_cm *scm, size_t nr_bufs)
size_t * sc_total_write_size