iov_iter currently extracts pages from the xarray when only folios have been stored there. This needs to be fixed before we can separate struct folio from struct page. __readahead_batch() is in the same situation, and converting all three of these places lets us remove find_subpage() and thp_nr_pages(). Removing readahead_page_batch() isn't particularly related to these changes, but it may as well go in with this batch. Matthew Wilcox (Oracle) (6): iov_iter: Convert iter_xarray_populate_pages() to use folios iov_iter: Convert iov_iter_extract_xarray_pages() to use folios pagemap: Remove find_subpage() filemap: Convert __readahead_batch() to use a folio pagemap: Remove readahead_page_batch() mm: Delete thp_nr_pages() include/linux/mm.h | 9 --------- include/linux/pagemap.h | 40 ++++++---------------------------------- lib/iov_iter.c | 30 +++++++++++++++--------------- 3 files changed, 21 insertions(+), 58 deletions(-) -- 2.47.2