From: Liam R. Howlett Date: Fri, 2 May 2025 20:15:33 +0000 (-0400) Subject: rebalance_reduce use split_state_setup X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=cdaee6b85f53a4955df05393be91a45917c74613;p=users%2Fjedix%2Flinux-maple.git rebalance_reduce use split_state_setup Signed-off-by: Liam R. Howlett --- diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 374d0d9fbd27..39a35f764e94 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4019,8 +4019,10 @@ static void mas_wr_rebalance_reduce(struct ma_wr_state *wr_mas, struct split_data *sd, bool left_store) { + printk("\t\t%s\n", __func__); + sd->insert_end = sd->insert + part->size - 1; if (!left_store) { - printk("store right->n"); + printk("store right\n"); left->min = src2->min; left->max = src->max; sd->offset = src2->end + 1; @@ -4037,7 +4039,16 @@ static void mas_wr_rebalance_reduce(struct ma_wr_state *wr_mas, left->max = src2->max; } - mt_wr_split_data(src, left, NULL, part, sd); + + do { + printk("cp from %p starting at %u\n", src->node, src->offset); + split_state_setup(src, left, part, sd); + printk("state %d: cp %p[%u] + %u to %s\n", sd->len, src->node, + sd->states[sd->len].start, + sd->states[sd->len].size, "always left"); + sd->len++; + } while (src->offset <= src->end); + if (left_store) { sd->states[sd->len].info = src2; printk("cp right->%u + %u to left\n", 0, src2->end + 1);