23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_SNSCM 75 nr_bufs = unused_cps * nr_cp_bufs;
145 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL uint64_t m0_sns_cm_ag_local_cp_nr(const struct m0_cm_aggr_group *ag)
M0_INTERNAL struct m0_sns_cm * cm2sns(struct m0_cm *cm)
static const struct m0_cm_aggr_group_ops sns_cm_rebalance_ag_ops
M0_INTERNAL int m0_sns_cm_rebalance_ag_setup(struct m0_sns_cm_ag *sag, struct m0_pdclust_layout *pl)
struct m0_layout * sf_layout
static struct m0_sns_cm * scm
M0_INTERNAL void m0_sns_cm_ag_fini(struct m0_sns_cm_ag *sag)
struct m0_sns_cm_buf_pool sc_ibp
#define container_of(ptr, type, member)
M0_INTERNAL struct m0_sns_cm_rebalance_ag * sag2rebalanceag(const struct m0_sns_cm_ag *sag)
static struct m0_sns_cm_ag * sag
return M0_ERR(-EOPNOTSUPP)
M0_INTERNAL bool m0_sns_cm_ag_is_frozen_on(struct m0_cm_aggr_group *ag, struct m0_cm_proxy *pxy)
struct m0_sns_cm_ag rag_base
struct m0_sns_cm_ag rag_base
M0_INTERNAL bool m0_sns_cm_ag_has_incoming_from(struct m0_cm_aggr_group *ag, struct m0_cm_proxy *proxy)
M0_INTERNAL uint64_t m0_sns_cm_cp_buf_nr(struct m0_net_buffer_pool *bp, uint64_t data_seg_nr)
M0_INTERNAL struct m0_pdclust_layout * m0_layout_to_pdl(const struct m0_layout *l)
static bool rebalance_ag_can_fini(const struct m0_cm_aggr_group *ag)
uint32_t sag_incoming_cp_nr
struct m0_sns_cm_file_ctx * sag_fctx
M0_INTERNAL int m0_sns_cm_ag_init(struct m0_sns_cm_ag *sag, struct m0_cm *cm, const struct m0_cm_ag_id *id, const struct m0_cm_aggr_group_ops *ag_ops, bool has_incoming)
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)
uint32_t sag_local_tgts_nr
#define M0_ALLOC_PTR(ptr)
M0_INTERNAL void m0_sns_cm_cancel_reservation(struct m0_sns_cm *scm, size_t nr_bufs)
static struct m0_sns_cm_repair_ag rag
struct m0_cm_aggr_group sag_base
bool(* cago_ag_can_fini)(const struct m0_cm_aggr_group *ag)
M0_INTERNAL bool m0_cm_is_locked(const struct m0_cm *cm)
static void rebalance_ag_fini(struct m0_cm_aggr_group *ag)
M0_INTERNAL struct m0_sns_cm_ag * ag2snsag(const struct m0_cm_aggr_group *ag)
M0_INTERNAL int m0_sns_cm_rebalance_ag_alloc(struct m0_cm *cm, const struct m0_cm_ag_id *id, bool has_incoming, struct m0_cm_aggr_group **out)