On 8/8/24 12:37 AM, Wei Yang wrote:
If entry is a special case, we need to expand root to store it. This case is exactly the case of xa_is_internal(). Let's use xa_is_internal() for the check, which is friendly for audience. Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx>
--- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index aa3a5df15b8e..d39b0bceb802 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3515,7 +3515,7 @@ static inline void mas_store_root(struct ma_state *mas, void *entry) { if (likely((mas->last != 0) || (mas->index != 0))) mas_root_expand(mas, entry); - else if (((unsigned long) (entry) & 3) == 2) + else if (xa_is_internal(entry)) mas_root_expand(mas, entry); else { rcu_assign_pointer(mas->tree->ma_root, entry);