shadow_spine
struct dm_block *shadow_parent(struct shadow_spine *s);
int shadow_has_parent(struct shadow_spine *s);
dm_block_t shadow_root(struct shadow_spine *s);
void init_shadow_spine(struct shadow_spine *s, struct dm_btree_info *info);
void exit_shadow_spine(struct shadow_spine *s);
int shadow_step(struct shadow_spine *s, dm_block_t b,
struct dm_block *shadow_current(struct shadow_spine *s);
static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
static int rebalance_children(struct shadow_spine *s,
static int remove_raw(struct shadow_spine *s, struct dm_btree_info *info,
struct shadow_spine spine;
static int remove_nearest(struct shadow_spine *s, struct dm_btree_info *info,
struct shadow_spine spine;
void init_shadow_spine(struct shadow_spine *s, struct dm_btree_info *info)
void exit_shadow_spine(struct shadow_spine *s)
int shadow_step(struct shadow_spine *s, dm_block_t b,
struct dm_block *shadow_current(struct shadow_spine *s)
struct dm_block *shadow_parent(struct shadow_spine *s)
int shadow_has_parent(struct shadow_spine *s)
dm_block_t shadow_root(struct shadow_spine *s)
static int rebalance_or_split(struct shadow_spine *s, struct dm_btree_value_type *vt,
static int btree_insert_raw(struct shadow_spine *s, dm_block_t root,
static int __btree_get_overwrite_leaf(struct shadow_spine *s, dm_block_t root,
struct shadow_spine spine;
struct shadow_spine spine;
static int split_one_into_two(struct shadow_spine *s, unsigned int parent_index,
static int split_two_into_three(struct shadow_spine *s, unsigned int parent_index,
static int btree_split_beneath(struct shadow_spine *s, uint64_t key)
static int rebalance_left(struct shadow_spine *s, struct dm_btree_value_type *vt,
static int rebalance_right(struct shadow_spine *s, struct dm_btree_value_type *vt,