23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_SNSCM 161 &
fom->fo_loc->fl_group);
237 if (cp->
c_rc != -ENOENT) {
317 nbuf = cp_data_buf_tlist_head(&cp->
c_buffers);
359 uint64_t stob_offset,
370 uint64_t stob_offset,
371 uint64_t data_seg_nr,
372 uint64_t failed_unit_index,
391 if (ag_cp_idx < scp->sc_base.c_ag->cag_cp_global_nr)
473 #undef M0_TRACE_SUBSYSTEM M0_INTERNAL void m0_sns_cm_pver_dirty_set(struct m0_pool_version *pver)
M0_INTERNAL void m0_cm_cp_buf_release(struct m0_cm_cp *cp)
M0_INTERNAL void m0_sns_cm_cp_free(struct m0_cm_cp *cp)
M0_INTERNAL int m0_sns_cm_cp_init(struct m0_cm_cp *cp)
struct m0_be_domain * bs_domain
M0_INTERNAL void m0_cm_lock(struct m0_cm *cm)
M0_INTERNAL int m0_bitmap_init(struct m0_bitmap *map, size_t nr)
M0_INTERNAL void m0_cm_ag_cp_del(struct m0_cm_aggr_group *ag, struct m0_cm_cp *cp)
struct m0_net_buffer_pool * nb_pool
M0_INTERNAL void m0_sns_cm_cp_tgt_info_fill(struct m0_sns_cm_cp *scp, const struct m0_fid *cob_fid, uint64_t stob_offset, uint64_t ag_cp_idx)
M0_INTERNAL int m0_indexvec_alloc(struct m0_indexvec *ivec, uint32_t len)
struct m0_sns_cm_buf_pool sc_obp
M0_INTERNAL int m0_sns_cm_cp_send_wait(struct m0_cm_cp *cp)
struct m0_stob_id scx_stob_id
struct m0_bitmap c_xform_cp_indices
struct m0_stob_id sc_stob_id
struct m0_fid si_domain_fid
M0_INTERNAL struct m0_sns_cm * cm2sns(struct m0_cm *cm)
M0_INTERNAL void m0_stob_io_credit(const struct m0_stob_io *io, const struct m0_stob_domain *dom, struct m0_be_tx_credit *accum)
M0_INTERNAL struct m0_cob_domain * m0_sns_cm_cp2cdom(struct m0_cm_cp *cp)
struct m0_pool_version * pm_pver
static void sns_cm_cp_stob_punch_credit(struct m0_sns_cm_cp *sns_cp, struct m0_be_tx_credit *accum)
struct m0_pool_version * pv
#define M0_LOG(level,...)
static struct m0_be_tx_credit * m0_fom_tx_credit(struct m0_fom *fom)
M0_INTERNAL int m0_sns_cm_cp_recv_wait(struct m0_cm_cp *cp)
M0_INTERNAL bool m0_sns_cm_is_local_cob(const struct m0_cm *cm, const struct m0_pool_version *pv, const struct m0_fid *cob_fid)
M0_INTERNAL void m0_dtx_init(struct m0_dtx *tx, struct m0_be_domain *be_domain, struct m0_sm_group *sm_group)
M0_INTERNAL void m0_dtx_opened(struct m0_dtx *tx)
M0_INTERNAL void m0_sns_cm_cp_complete(struct m0_cm_cp *cp)
static struct m0_sns_cm * scm
void * m0_fop_data(const struct m0_fop *fop)
M0_INTERNAL void m0_fom_wait_on(struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb)
struct m0_sns_cm_buf_pool sc_ibp
#define container_of(ptr, type, member)
struct m0_poolmach * sf_pm
M0_INTERNAL int m0_sns_cm_buf_attach(struct m0_net_buffer_pool *bp, struct m0_cm_cp *cp)
struct m0_fop_getxattr_rep * rep
struct m0_rpc_chan * c_rpcchan
static struct m0_be_tx * m0_fom_tx(struct m0_fom *fom)
uint64_t cag_cp_global_nr
M0_INTERNAL int m0_sns_cm_cp_write_pre(struct m0_cm_cp *cp)
M0_INTERNAL void m0_cob_tx_credit(struct m0_cob_domain *dom, enum m0_cob_op optype, struct m0_be_tx_credit *accum)
M0_INTERNAL int m0_cm_cp_dup(struct m0_cm_cp *src, struct m0_cm_cp **dest)
M0_INTERNAL void m0_cm_unlock(struct m0_cm *cm)
static uint32_t unit_size
const struct m0_cm_cp_ops m0_sns_cm_repair_cp_ops
static struct m0_sns_cm_ag * sag
enum m0_cm_cp_io_op c_io_op
M0_INTERNAL int m0_sns_cm_cp_recv_init(struct m0_cm_cp *cp)
M0_INTERNAL void m0_dtx_open(struct m0_dtx *tx)
struct m0_indexvec si_stob
M0_INTERNAL int m0_sns_cm_cp_write(struct m0_cm_cp *cp)
M0_INTERNAL struct m0_pool_version * m0_sns_cm_pool_version_get(struct m0_sns_cm_file_ctx *fctx)
struct m0_stob_io sc_stio
M0_INTERNAL int m0_sns_cm_cp_io_wait(struct m0_cm_cp *cp)
void m0_fom_phase_move(struct m0_fom *fom, int32_t rc, int phase)
M0_INTERNAL int m0_sns_cm_cp_phase_next(struct m0_cm_cp *cp)
M0_INTERNAL void m0_fid_convert_cob2stob(const struct m0_fid *cob_fid, struct m0_stob_id *stob_id)
M0_INTERNAL int m0_sns_cm_cp_dup(struct m0_cm_cp *src, struct m0_cm_cp **dest)
const struct m0_cm_cp_ops m0_sns_cm_rebalance_cp_ops
static struct m0_stob_domain * dom
const struct m0_cm_cp_ops * c_ops
static struct m0_fid cob_fid
M0_INTERNAL int m0_sns_cm_cp_setup(struct m0_sns_cm_cp *scp, const struct m0_fid *cob_fid, uint64_t stob_offset, uint64_t data_seg_nr, uint64_t failed_unit_index, uint64_t ag_cp_idx)
struct m0_net_end_point * rc_destep
M0_INTERNAL bool m0_sns_cm_cp_invariant(const struct m0_cm_cp *cp)
int(* co_action[])(struct m0_cm_cp *cp)
M0_INTERNAL struct m0_cm * cpfom2cm(struct m0_fom *fom)
M0_INTERNAL void m0_dtx_fini(struct m0_dtx *tx)
M0_INTERNAL void m0_bitmap_set(struct m0_bitmap *map, size_t idx, bool val)
struct m0_cm_aggr_group * c_ag
M0_INTERNAL struct m0_sns_cm_cp * cp2snscp(const struct m0_cm_cp *cp)
M0_INTERNAL void m0_dtx_done(struct m0_dtx *tx)
M0_INTERNAL int m0_sns_cm_rebalance_cp_xform(struct m0_cm_cp *cp)
M0_INTERNAL int m0_sns_cm_cp_tx_open(struct m0_cm_cp *cp)
M0_INTERNAL struct m0_stob_domain * m0_stob_domain_find_by_stob_id(const struct m0_stob_id *stob_id)
M0_INTERNAL uint32_t m0_indexvec_pack(struct m0_indexvec *iv)
M0_INTERNAL int m0_stob_punch_credit(struct m0_stob *stob, struct m0_indexvec *want, struct m0_indexvec *got, struct m0_be_tx_credit *accum)
struct m0_sns_cm_file_ctx * sag_fctx
struct m0_cm_proxy * c_cm_proxy
M0_INTERNAL int m0_sns_cm_cp_read(struct m0_cm_cp *cp)
struct m0_net_buffer_pool sb_bp
M0_INTERNAL int m0_sns_cm_repair_cp_send(struct m0_cm_cp *cp)
struct m0_fom_locality * fo_loc
static struct m0_sns_cm_cp scp
M0_INTERNAL size_t m0_cob_io_fom_locality(const struct m0_fid *fid)
struct m0_reqh_service cm_service
struct m0_rpc_session * ri_session
size_t * sc_total_read_size
M0_INTERNAL int m0_fom_rc(const struct m0_fom *fom)
M0_INTERNAL int m0_sns_cm_rebalance_cp_send(struct m0_cm_cp *cp)
M0_INTERNAL struct m0_cm_proxy * m0_cm_proxy_locate(struct m0_cm *cm, const char *addr)
enum m0_dtx_state tx_state
M0_INTERNAL int m0_cc_stob_cr_credit(struct m0_stob_id *sid, struct m0_be_tx_credit *accum)
static struct m0_fop * fop
M0_INTERNAL int m0_sns_cm_cp_fail(struct m0_cm_cp *cp)
int(* co_phase_next)(struct m0_cm_cp *cp)
M0_INTERNAL void m0_sns_cm_cancel_reservation(struct m0_sns_cm *scm, size_t nr_bufs)
struct m0_be_seg * rh_beseg
M0_INTERNAL void m0_sns_cm_cp_buf_release(struct m0_cm_cp *cp)
static struct bulkio_params * bp
M0_INTERNAL int m0_sns_cm_cp_tx_close(struct m0_cm_cp *cp)
M0_INTERNAL int m0_sns_cm_cp_sw_check(struct m0_cm_cp *cp)
void m0_fom_phase_set(struct m0_fom *fom, int phase)
M0_INTERNAL void m0_cm_abort(struct m0_cm *cm, int rc)
M0_INTERNAL bool m0_fid_is_valid(const struct m0_fid *fid)
M0_INTERNAL uint64_t cp_home_loc_helper(const struct m0_cm_cp *cp)
M0_INTERNAL int m0_sns_cm_repair_cp_xform(struct m0_cm_cp *cp)
struct m0_rpc_item f_item
M0_INTERNAL bool m0_cm_cp_invariant(const struct m0_cm_cp *cp)
struct m0_pdclust_src_addr src
M0_INTERNAL struct m0_sns_cm_ag * ag2snsag(const struct m0_cm_aggr_group *ag)
struct m0_rpc_conn * s_conn
M0_INTERNAL int m0_sns_cm_cp_fini(struct m0_cm_cp *cp)
M0_INTERNAL struct m0_reqh * m0_fom_reqh(const struct m0_fom *fom)
size_t * sc_total_write_size
M0_INTERNAL int m0_sns_cm_cp_next_phase_get(int phase, struct m0_cm_cp *cp)