cp->s_count++;
}
-static inline void spanning_leaf_init(struct maple_copy *cp,
+static inline void rebalance_leaf_init(struct maple_copy *cp,
struct ma_state *mas, struct ma_wr_state *l_wr_mas,
struct ma_wr_state *r_wr_mas)
{
/* Create entries to insert including split entries to left and right */
if (l_wr_mas->r_min < mas->index) {
+ end++;
cp->slot[0] = l_wr_mas->content;
cp->pivot[0] = mas->index - 1;
- end++;
if (l_wr_mas->content)
cp->gap[0] = 0;
else
if (r_wr_mas->r_max > mas->last) {
end++;
- cp->slot[end] = r_wr_mas->content;
+ cp->slot[end] = r_wr_mas->slots[r_wr_mas->offset_end];
cp->pivot[end] = r_wr_mas->r_max;
if (r_wr_mas->content)
cp->gap[end] = 0;
*/
cp.height = 1;
- spanning_leaf_init(&cp, mas, l_wr_mas, r_wr_mas);
+ rebalance_leaf_init(&cp, mas, l_wr_mas, r_wr_mas);
do {
spanning_data_calc(&cp, mas, l_wr_mas, r_wr_mas, &sib);
spanning_split_src_setup(&cp, mas, l_wr_mas, r_wr_mas, &sib);