xarray: Add XArray iterators
authorMatthew Wilcox <willy@infradead.org>
Tue, 14 Nov 2017 13:30:11 +0000 (08:30 -0500)
committerMatthew Wilcox <willy@infradead.org>
Sun, 21 Oct 2018 14:45:58 +0000 (10:45 -0400)
commitb803b42823d0d9e8b6deccf01ffc2aba5d0738df
treea3ea387087a9f64258e0bc9300f92ee63d1313fa
parent41aec91f55985e7f14ee75fe2f6e7bcfff0d0fae
xarray: Add XArray iterators

The xa_for_each iterator allows the user to efficiently walk a range
of the array, executing the loop body once for each entry in that
range that matches the filter.  This commit also includes xa_find()
and xa_find_after() which are helper functions for xa_for_each() but
may also be useful in their own right.

In the xas family of functions, we have xas_for_each(), xas_find(),
xas_next_entry(), xas_for_each_tagged(), xas_find_tagged(),
xas_next_tagged() and xas_pause().

Signed-off-by: Matthew Wilcox <willy@infradead.org>
include/linux/xarray.h
lib/test_xarray.c
lib/xarray.c