Re: [PATCH 02/10] maple_tree: Drop mtree_alloc_{range,rrange}() and related functions.

From: Matthew Wilcox
Date: Mon May 15 2023 - 13:31:39 EST

On Mon, May 15, 2023 at 09:17:49PM +0800, Peng Zhang wrote:
> Drop mtree_alloc_{range,rrange}(), mas_{rev_}alloc() and mas_fill_gap().
> mtree_alloc_{range,rrange}() currently have no users and can be easily
> implemented with mas_empty_area{_rev}(). mas_{rev_}alloc() and
> mas_fill_gap() are just their internal functions, drop them together.

No, I think this is the wrong way to go.

Most users should not be using the mas_* API. These are the advanced
APIs. Most users will want to use mtree_alloc_range(). Just like most
users of the XArray use the xa_insert() API rather than open-coding the
xa_state and calling the xas_* APIs.

Please read Documentation/core-api/xarray.rst and maple_tree.rst for more
details on Normal vs Advanced API. The real problem is that we have so
few users today, so you haven't seen that most people don't want to use
the advanced APIs.