• M
    XArray: Change xa_for_each iterator · 4a31896c
    Matthew Wilcox 提交于
    There were three problems with this API:
    1. It took too many arguments; almost all users wanted to iterate over
    every element in the array rather than a subset.
    2. It required that 'index' be initialised before use, and there's no
    realistic way to make GCC catch that.
    3. 'index' and 'entry' were the opposite way round from every other
    member of the XArray APIs.
    
    So split it into three different APIs:
    
    xa_for_each(xa, index, entry)
    xa_for_each_start(xa, index, entry, start)
    xa_for_each_marked(xa, index, entry, filter)
    Signed-off-by: NMatthew Wilcox <willy@infradead.org>
    4a31896c
xarray.h 47.2 KB