25 #ifndef __MOTR_BE_EXTMAP_H__ 26 #define __MOTR_BE_EXTMAP_H__ 108 #include "lib/ext_xc.h" 110 #include "lib/types_xc.h" 113 #include "be/btree_xc.h" 116 #include "be/extmap_internal_xc.h" M0_INTERNAL struct m0_be_domain * m0_be_emap_seg_domain(const struct m0_be_emap *map)
M0_INTERNAL void m0_be_emap_next(struct m0_be_emap_cursor *it)
M0_INTERNAL m0_bcount_t m0_be_emap_caret_step(const struct m0_be_emap_caret *car)
M0_INTERNAL int m0_be_emap_dump(struct m0_be_emap *map)
struct m0_be_emap_cursor M0_XCA_DOMAIN
M0_INTERNAL int m0_be_emap_caret_move(struct m0_be_emap_caret *car, m0_bcount_t count)
struct m0_be_emap_key ec_key
static struct m0_uint128 prefix
static m0_bcount_t segs[NR *IT]
M0_INTERNAL void m0_be_emap_destroy(struct m0_be_emap *map, struct m0_be_tx *tx, struct m0_be_op *op)
M0_INTERNAL void m0_be_emap_obj_insert(struct m0_be_emap *map, struct m0_be_tx *tx, struct m0_be_op *op, const struct m0_uint128 *prefix, uint64_t val)
M0_INTERNAL void m0_be_emap_prev(struct m0_be_emap_cursor *it)
M0_INTERNAL void m0_be_emap_close(struct m0_be_emap_cursor *it)
static struct m0_be_emap_cursor it
struct m0_be_emap_seg ec_seg
M0_INTERNAL void m0_be_emap_split(struct m0_be_emap_cursor *it, struct m0_be_tx *tx, struct m0_indexvec *vec, struct m0_buf *cksum)
M0_INTERNAL bool m0_be_emap_ext_is_first(const struct m0_ext *ext)
M0_INTERNAL void m0_be_emap_merge(struct m0_be_emap_cursor *it, struct m0_be_tx *tx, m0_bindex_t delta)
struct m0_buf ee_cksum_buf
M0_INTERNAL struct m0_be_op * m0_be_emap_op(struct m0_be_emap_cursor *it)
M0_INTERNAL int m0_be_emap_op_rc(const struct m0_be_emap_cursor *it)
M0_INTERNAL void m0_be_emap_paste(struct m0_be_emap_cursor *it, struct m0_be_tx *tx, struct m0_ext *ext, uint64_t val, void(*del)(struct m0_be_emap_seg *), void(*cut_left)(struct m0_be_emap_seg *, struct m0_ext *, uint64_t), void(*cut_right)(struct m0_be_emap_seg *, struct m0_ext *, uint64_t))
struct m0_be_btree_cursor ec_cursor
M0_INTERNAL void m0_be_emap_init(struct m0_be_emap *map, struct m0_be_seg *db)
struct m0_be_emap * ec_map
M0_INTERNAL void m0_be_emap_caret_init(struct m0_be_emap_caret *car, struct m0_be_emap_cursor *it, m0_bindex_t index)
struct m0_be_emap_rec ec_rec
M0_INTERNAL bool m0_be_emap_ext_is_last(const struct m0_ext *ext)
M0_INTERNAL void m0_be_emap_extent_update(struct m0_be_emap_cursor *it, struct m0_be_tx *tx, const struct m0_be_emap_seg *es)
M0_INTERNAL void m0_be_emap_fini(struct m0_be_emap *map)
M0_INTERNAL void m0_be_emap_lookup(struct m0_be_emap *map, const struct m0_uint128 *prefix, m0_bindex_t offset, struct m0_be_emap_cursor *it)
static m0_bindex_t offset
M0_INTERNAL void m0_be_emap_obj_delete(struct m0_be_emap *map, struct m0_be_tx *tx, struct m0_be_op *op, const struct m0_uint128 *prefix)
struct m0_uint128 ec_prefix
static struct m0_be_emap * emap
struct m0_be_emap_cursor * ct_it
M0_INTERNAL int m0_be_emap_caret_move_sync(struct m0_be_emap_caret *car, m0_bcount_t count)
M0_INTERNAL void m0_be_emap_credit(struct m0_be_emap *map, enum m0_be_emap_optype optype, m0_bcount_t nr, struct m0_be_tx_credit *accum)
struct m0_buf ec_app_cksum_buf
M0_INTERNAL int m0_be_emap_count(struct m0_be_emap_cursor *it, m0_bcount_t *segs)
M0_INTERNAL void m0_be_emap_create(struct m0_be_emap *map, struct m0_be_tx *tx, struct m0_be_op *op, const struct m0_fid *fid)
static struct m0_be_ut_backend be
M0_INTERNAL struct m0_be_emap_seg * m0_be_emap_seg_get(struct m0_be_emap_cursor *it)
M0_INTERNAL void m0_be_emap_caret_fini(struct m0_be_emap_caret *car)