Motr  M0
extmap.h File Reference
#include "lib/ext.h"
#include "lib/ext_xc.h"
#include "lib/types.h"
#include "lib/types_xc.h"
#include "be/tx.h"
#include "be/btree.h"
#include "be/btree_xc.h"
#include "be/extmap_internal.h"
#include "be/extmap_internal_xc.h"
Include dependency graph for extmap.h:

Go to the source code of this file.

Data Structures

struct  m0_be_emap_seg
 
struct  m0_be_emap_cursor
 
struct  m0_be_emap_caret
 

Macros

#define __MOTR_BE_EXTMAP_H__
 

Enumerations

enum  m0_be_emap_optype {
  M0_BEO_CREATE, M0_BEO_DESTROY, M0_BEO_INSERT, M0_BEO_DELETE,
  M0_BEO_UPDATE, M0_BEO_MERGE, M0_BEO_SPLIT, M0_BEO_PASTE
}
 

Functions

M0_INTERNAL void m0_be_emap_init (struct m0_be_emap *map, struct m0_be_seg *db)
 
M0_INTERNAL void m0_be_emap_fini (struct m0_be_emap *map)
 
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)
 
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_obj_delete (struct m0_be_emap *map, struct m0_be_tx *tx, struct m0_be_op *op, const struct m0_uint128 *prefix)
 
struct m0_be_emap_seg M0_XCA_DOMAIN (be)
 
M0_INTERNAL bool m0_be_emap_ext_is_last (const struct m0_ext *ext)
 
M0_INTERNAL bool m0_be_emap_ext_is_first (const struct m0_ext *ext)
 
M0_INTERNAL struct m0_be_emap_segm0_be_emap_seg_get (struct m0_be_emap_cursor *it)
 
M0_INTERNAL struct m0_be_opm0_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_lookup (struct m0_be_emap *map, const struct m0_uint128 *prefix, m0_bindex_t offset, struct m0_be_emap_cursor *it)
 
M0_INTERNAL void m0_be_emap_next (struct m0_be_emap_cursor *it)
 
M0_INTERNAL void m0_be_emap_prev (struct m0_be_emap_cursor *it)
 
M0_INTERNAL void m0_be_emap_merge (struct m0_be_emap_cursor *it, struct m0_be_tx *tx, m0_bindex_t delta)
 
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 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))
 
M0_INTERNAL int m0_be_emap_count (struct m0_be_emap_cursor *it, m0_bcount_t *segs)
 
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_close (struct m0_be_emap_cursor *it)
 
M0_INTERNAL void m0_be_emap_caret_init (struct m0_be_emap_caret *car, struct m0_be_emap_cursor *it, m0_bindex_t index)
 
M0_INTERNAL void m0_be_emap_caret_fini (struct m0_be_emap_caret *car)
 
M0_INTERNAL int m0_be_emap_caret_move (struct m0_be_emap_caret *car, m0_bcount_t count)
 
M0_INTERNAL int m0_be_emap_caret_move_sync (struct m0_be_emap_caret *car, m0_bcount_t count)
 
M0_INTERNAL m0_bcount_t m0_be_emap_caret_step (const struct m0_be_emap_caret *car)
 
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)
 
M0_INTERNAL struct m0_be_domainm0_be_emap_seg_domain (const struct m0_be_emap *map)
 
M0_INTERNAL int m0_be_emap_dump (struct m0_be_emap *map)
 

Variables

struct m0_uint128 ee_pre
 
struct m0_ext ee_ext
 
uint64_t ee_val
 
struct m0_buf ee_cksum_buf
 
struct m0_be_emap_cursor M0_XCA_DOMAIN
 

Macro Definition Documentation

◆ __MOTR_BE_EXTMAP_H__

#define __MOTR_BE_EXTMAP_H__

Definition at line 26 of file extmap.h.

Variable Documentation

◆ ee_cksum_buf

struct m0_buf ee_cksum_buf

Definition at line 188 of file extmap.h.

◆ ee_ext

struct m0_ext ee_ext

Name-space extent.

Definition at line 185 of file extmap.h.

◆ ee_pre

struct m0_uint128 ee_pre

Map prefix, identifying the map in its collection.

Definition at line 183 of file extmap.h.

◆ ee_val

uint64_t ee_val

Value associated with the extent.

Definition at line 187 of file extmap.h.