diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2021-08-27 13:21:49 +0200 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-01-08 06:28:41 +0100 |
commit | 25a8de7f8d970ffa7263bd9d32a08138cd949f17 (patch) | |
tree | dad9405842972e385e08f4ae5bfca9778c684934 /lib | |
parent | truncate,shmem: Handle truncates that split large folios (diff) | |
download | linux-25a8de7f8d970ffa7263bd9d32a08138cd949f17.tar.xz linux-25a8de7f8d970ffa7263bd9d32a08138cd949f17.zip |
XArray: Add xas_advance()
Add a new helper function to help iterate over multi-index entries.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/xarray.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/xarray.c b/lib/xarray.c index f5d8f54907b4..6f47f6375808 100644 --- a/lib/xarray.c +++ b/lib/xarray.c @@ -157,7 +157,7 @@ static void xas_move_index(struct xa_state *xas, unsigned long offset) xas->xa_index += offset << shift; } -static void xas_advance(struct xa_state *xas) +static void xas_next_offset(struct xa_state *xas) { xas->xa_offset++; xas_move_index(xas, xas->xa_offset); @@ -1250,7 +1250,7 @@ void *xas_find(struct xa_state *xas, unsigned long max) xas->xa_offset = ((xas->xa_index - 1) & XA_CHUNK_MASK) + 1; } - xas_advance(xas); + xas_next_offset(xas); while (xas->xa_node && (xas->xa_index <= max)) { if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { @@ -1268,7 +1268,7 @@ void *xas_find(struct xa_state *xas, unsigned long max) if (entry && !xa_is_sibling(entry)) return entry; - xas_advance(xas); + xas_next_offset(xas); } if (!xas->xa_node) |