summaryrefslogtreecommitdiffstats
path: root/lib/xarray.c
Commit message (Collapse)AuthorAgeFilesLines
...
* xarray: Add XArray marksMatthew Wilcox2018-10-211-2/+230
| | | | | | | | XArray marks are like the radix tree tags, only slightly more strongly typed. They are renamed in order to distinguish them from tagged pointers. This commit adds the basic get/set/clear operations. Signed-off-by: Matthew Wilcox <willy@infradead.org>
* xarray: Add XArray load operationMatthew Wilcox2018-10-211-0/+195
| | | | | | | | | | | | | The xa_load function brings with it a lot of infrastructure; xa_empty(), xa_is_err(), and large chunks of the XArray advanced API that are used to implement xa_load. As the test-suite demonstrates, it is possible to use the XArray functions on a radix tree. The radix tree functions depend on the GFP flags being stored in the root of the tree, so it's not possible to use the radix tree functions on an XArray. Signed-off-by: Matthew Wilcox <willy@infradead.org>
* xarray: Add definition of struct xarrayMatthew Wilcox2018-10-211-0/+44
This is a direct replacement for struct radix_tree_root. Some of the struct members have changed name; convert those, and use a #define so that radix_tree users continue to work without change. Signed-off-by: Matthew Wilcox <willy@infradead.org> Reviewed-by: Josef Bacik <jbacik@fb.com>