ni->max = mas->max;
_mni_node_init(ni, ni->node, ni->type);
mni_set_end(ni);
+ mas->end = ni->end;
ni->insert_off = mas->offset;
}
*/
/* Set up sources (up to 3) + part (always) */
sd.new_end = r_mas.end + mas->end - part.skip + 1 + part.size;
- printk("new end is %u\n", sd.new_end);
+ printk("\tAt %p and r_mas %p\n", mas_mn(mas), mas_mn(&r_mas));
+ printk("new end is %u (%u + %u - %u + 1 + %u)\n", sd.new_end,
+ r_mas.end, mas->end, part.skip, part.size);
mas_wr_ascend_init(&r_mas, &r_parent);
mas_wr_ascend_init(mas, &parent);
+ printk("ascend is %u (%u + %u - %u + 1 + %u)\n", sd.new_end,
+ r_mas.end, mas->end, part.skip, part.size);
if (sd.new_end < mt_min_slots[left.type] &&
!ma_is_root(left.node) &&
(left.min || right.max != ULONG_MAX)) {
if (ma_is_root(parent.node)) {
printk("\n\nNew root\n");
if (!dst[0].min && dst[0].max == ULONG_MAX) {
+ printk("height reduction\n\n");
mas->depth = height;
left.enode = mas->node;
dst[0].node->parent = parent.node->parent;