Commit 19138a2c authored by Sidhartha Kumar's avatar Sidhartha Kumar Committed by Andrew Morton

maple_tree: introduce mas_wr_prealloc_setup()

Introduce a helper function, mas_wr_prealoc_setup(), that will set up a
maple write state in order to start a walk of a maple tree.

Link: https://lkml.kernel.org/r/20240814161944.55347-3-sidhartha.kumar@oracle.comSigned-off-by: default avatarSidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent bd164d81
...@@ -5399,6 +5399,13 @@ static void mas_wr_store_setup(struct ma_wr_state *wr_mas) ...@@ -5399,6 +5399,13 @@ static void mas_wr_store_setup(struct ma_wr_state *wr_mas)
mas_reset(wr_mas->mas); mas_reset(wr_mas->mas);
} }
static inline void mas_wr_prealloc_setup(struct ma_wr_state *wr_mas)
{
struct ma_state *mas = wr_mas->mas;
mas_wr_store_setup(wr_mas);
wr_mas->content = mas_start(mas);
}
/* Interface */ /* Interface */
/** /**
...@@ -5509,8 +5516,7 @@ int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp) ...@@ -5509,8 +5516,7 @@ int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
if (unlikely(!mas->index && mas->last == ULONG_MAX)) if (unlikely(!mas->index && mas->last == ULONG_MAX))
goto ask_now; goto ask_now;
mas_wr_store_setup(&wr_mas); mas_wr_prealloc_setup(&wr_mas);
wr_mas.content = mas_start(mas);
/* Root expand */ /* Root expand */
if (unlikely(mas_is_none(mas) || mas_is_ptr(mas))) if (unlikely(mas_is_none(mas) || mas_is_ptr(mas)))
goto ask_now; goto ask_now;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment