From: Liam R. Howlett Date: Fri, 2 May 2025 19:30:02 +0000 (-0400) Subject: fix src offset X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=65255c7a7b95528655b0303dbe354aff7e474f3b;p=users%2Fjedix%2Flinux-maple.git fix src offset Signed-off-by: Liam R. Howlett --- diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 14d3f5ed23af..2eba5b01992d 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3664,12 +3664,11 @@ static inline void mas_wr_converged(struct ma_node_info *src, mni_finalise(dst); } -static int state_setup(struct ma_node_state *state, struct ma_node_info *src, +static void state_setup(struct ma_node_state *state, struct ma_node_info *src, struct ma_node_info *dst, struct ma_node_part *part, struct split_data *sd) { unsigned char copied; - unsigned char inc_off; /* Configure one state */ state = &sd->states[sd->len]; @@ -3680,7 +3679,7 @@ static int state_setup(struct ma_node_state *state, struct ma_node_info *src, mns_mni_init(state, dst, part->pos , copied); state->use_part = true; part->pos += copied; - inc_off = sd->src_ins_end + 1; + src->offset = sd->src_ins_end + 1; } else { state->info = src; if (sd->offset < sd->insert_end) { @@ -3694,14 +3693,12 @@ static int state_setup(struct ma_node_state *state, struct ma_node_info *src, } BUG_ON(copied == 0); mns_mni_init(state, dst, src->offset, copied); - inc_off = copied; + src->offset += copied; } sd->offset += copied; - src->offset += copied; sd->space -= copied; printk("offset %u split %u\n", sd->offset, sd->split); - return inc_off; } /*