The original thread[1] thoughts it is a problem in mas_new_root(). But after discussion, this should be an improvement on storing NULL. Patch 1/2 preparation for refine. Patch 3 remove redundant check in mas_new_root(). Patch 4 refine mas_store_root() to improve memory efficiency and remove possible consecutive NULL slot. Patch 5 adds a test for storing NULL. [1]: https://lkml.kernel.org/r/20241015233909.23592-1-richard.weiyang@xxxxxxxxx v5: rebase on akpm mm-unstable fix a build warning on xa_is_node() in patch 5 v4: patch 3 add a WARN_ON_ONCE() patch 4 add a comment and simplify the logic a little v3: patch 4 move the change into mas_store_root() patch 5 move test into lib/test_maple_tree.c Wei Yang (5): maple_tree: print empty for an empty tree on mt_dump() maple_tree: the return value of mas_root_expand() is not used maple_tree: not necessary to check index/last again maple_tree: refine mas_store_root() on storing NULL maple_tree: add a test checking storing null lib/maple_tree.c | 29 ++++++++++---- lib/test_maple_tree.c | 90 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 7 deletions(-) -- 2.34.1