From 5093578e016b2bc2c8ca5bc7f47a541dcb6777cf Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Tue, 14 Oct 2025 16:11:30 -0400 Subject: [PATCH] maple_tree: Add copy_tree_location() helper Extract the copying of the tree location from one maple state to another into its own function. This is used more later. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index ef7393ccd9e4..77683a037d0e 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3498,6 +3498,17 @@ static bool spanning_ascend(struct maple_copy *cp, struct ma_state *mas, return true; } +static inline +void copy_tree_location(const struct ma_state *src, struct ma_state *dst) +{ + dst->node = src->node; + dst->offset = src->offset; + dst->min = src->min; + dst->max = src->max; + dst->end = src->end; + dst->depth = src->depth; +} + /* * rebalance_ascend() - Ascend the tree and set up for the next loop - if * necessary @@ -3537,12 +3548,7 @@ static inline bool rebalance_ascend(struct maple_copy *cp, } cp->height++; - mas->node = parent->node; - mas->offset = parent->offset; - mas->min = parent->min; - mas->max = parent->max; - mas->end = parent->end; - mas->depth = parent->depth; + copy_tree_location(parent, mas); wr_mas_setup(wr_mas, mas); return true; } -- 2.51.0