More f2fs folio conversions. This time I'm focusing on removing accesses to page->mapping as well as getting rid of accesses to old APIs. f2fs was the last user of wait_for_stable_page(), grab_cache_page_write_begin() and wait_on_page_locked(), so I've included those removals in this series too. Matthew Wilcox (Oracle) (27): f2fs: Add f2fs_folio_wait_writeback() mm: Remove wait_for_stable_page() f2fs: Add f2fs_folio_put() f2fs: Convert f2fs_flush_inline_data() to use a folio f2fs: Convert f2fs_sync_node_pages() to use a folio f2fs: Pass a folio to flush_dirty_inode() f2fs: Convert f2fs_fsync_node_pages() to use a folio f2fs: Convert last_fsync_dnode() to use a folio f2fs: Return a folio from last_fsync_dnode() f2fs: Add f2fs_grab_cache_folio() mm: Remove grab_cache_page_write_begin() f2fs: Use a folio in __get_node_page() f2fs: Use a folio in do_write_page() f2fs: Convert f2fs_write_end_io() to use a folio_iter f2fs: Mark some functions as taking a const page pointer f2fs: Convert f2fs_in_warm_node_list() to take a folio f2fs: Add f2fs_get_node_folio() f2fs: Use a folio throughout f2fs_truncate_inode_blocks() f2fs: Use a folio throughout __get_meta_page() f2fs: Hoist the page_folio() call to the start of f2fs_merge_page_bio() f2fs: Add f2fs_get_read_data_folio() f2fs: Add f2fs_get_lock_data_folio() f2fs: Convert move_data_page() to use a folio f2fs: Convert truncate_partial_data_page() to use a folio f2fs: Convert gc_data_segment() to use a folio f2fs: Add f2fs_find_data_folio() mm: Remove wait_on_page_locked() fs/f2fs/checkpoint.c | 26 ++-- fs/f2fs/data.c | 130 ++++++++++--------- fs/f2fs/f2fs.h | 90 +++++++++---- fs/f2fs/file.c | 24 ++-- fs/f2fs/gc.c | 42 +++--- fs/f2fs/node.c | 279 ++++++++++++++++++++-------------------- fs/f2fs/node.h | 6 +- fs/f2fs/segment.c | 26 ++-- include/linux/pagemap.h | 9 -- mm/filemap.c | 2 +- mm/folio-compat.c | 14 -- 11 files changed, 338 insertions(+), 310 deletions(-) -- 2.47.2