mbox series

[00/27] f2fs folio conversions for v6.15

Message ID 20250218055203.591403-1-willy@infradead.org (mailing list archive)
Headers show
Series f2fs folio conversions for v6.15 | expand

Message

Matthew Wilcox Feb. 18, 2025, 5:51 a.m. UTC
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(-)

Comments

Jaegeuk Kim Feb. 21, 2025, 2:27 a.m. UTC | #1
Thank you for the patches. I queued them in dev-test and kicked off all my
tests.

Thanks,

On 02/18, Matthew Wilcox (Oracle) wrote:
> 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