From: Liam R. Howlett Date: Tue, 6 May 2025 15:13:56 +0000 (-0400) Subject: off by one\n X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f063d186c521d440de8c681416efca65ae149345;p=users%2Fjedix%2Flinux-maple.git off by one\n Signed-off-by: Liam R. Howlett --- diff --git a/lib/maple_tree.c b/lib/maple_tree.c index de0d21ee651d..e9e0914bdece 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4016,6 +4016,7 @@ static void mas_wr_rebalance_two(struct ma_wr_state *wr_mas, sd->states[sd->len].size, dst == left ? "left" : "right"); sd->len++; } while (src->offset <= src->end); + printk("\n\nend of loop\n"); if (left_store) { char len; @@ -4028,7 +4029,7 @@ static void mas_wr_rebalance_two(struct ma_wr_state *wr_mas, printk("sd is at offset %u splut %u\n", sd->offset, sd->split); len = sd->split - sd->offset; state->info = src2; - printk("cp right->%u + %u to left\n", 0, len); + printk("cp from %p to right %u + %u to left\n", src2->node, 0, len); mns_mni_init(state, left, 0, len); if (ma_is_leaf(src->type) && mns_ends_in_null(state)) { printk("ends in null\n"); @@ -4226,7 +4227,7 @@ static void mas_wr_rebalance(struct ma_wr_state *wr_mas) mas_set_height(mas); goto new_root; } - if (mas->end - 1 > mt_min_slots[parent.type]) { + if (mas->end > mt_min_slots[parent.type]) { printk("Decrease %p to %u\n", parent.node, parent.end - 1); break; /* Converged */