On Sat, Mar 27, 2021 at 08:31:38AM +0000, David Howells wrote: > However, in Mike's orangefs_readahead_cleanup(), he could replace: > > rcu_read_lock(); > xas_for_each(&xas, page, last) { > page_endio(page, false, 0); > put_page(page); > } > rcu_read_unlock(); > > with: > > while ((page = readahead_page(ractl))) { > page_endio(page, false, 0); > put_page(page); > } > > maybe? I'd rather see that than open-coded use of the XArray. It's mildly slower, but given that we're talking about doing I/O, probably not enough to care about.