mbox series

[v2,00/13] JFS folio conversion

Message ID 20240417175659.818299-1-willy@infradead.org (mailing list archive)
Headers show
Series JFS folio conversion | expand

Message

Matthew Wilcox April 17, 2024, 5:56 p.m. UTC
This patchset removes uses of struct page from the I/O paths of JFS.
write_begin and write_end are still passed a struct page, but they convert
to a folio as their first thing.  The logmgr still uses a struct page,
but I think that's one we actually don't want to convert since it's
never inserted into the page cache.

I've included the removal of i_blocks_per_page() in this series as JFS
is the last user.

Tested with xfstests; some failures observed, but they don't seem to be
related to these patches.  I haven't tried with PAGE_SIZE > 4kB, so the
MPS_PER_PAGE > 1 paths are untested.

v2:
 - Fix build errors on machines with PAGE_SIZE > 4096

Matthew Wilcox (Oracle) (13):
  jfs: Convert metapage_read_folio to use folio APIs
  jfs: Convert metapage_writepage to metapage_write_folio
  jfs: Convert __get_metapage to use a folio
  jfs: Convert insert_metapage() to take a folio
  jfs; Convert release_metapage to use a folio
  jfs: Convert drop_metapage and remove_metapage to take a folio
  jfs: Convert dec_io to take a folio
  jfs; Convert __invalidate_metapages to use a folio
  jfs: Convert page_to_mp to folio_to_mp
  jfs: Convert inc_io to take a folio
  jfs: Convert force_metapage to use a folio
  jfs: Change metapage->page to metapage->folio
  fs: Remove i_blocks_per_page

 fs/jfs/jfs_logmgr.c     |   2 +-
 fs/jfs/jfs_metapage.c   | 299 ++++++++++++++++++++--------------------
 fs/jfs/jfs_metapage.h   |  16 +--
 include/linux/pagemap.h |   6 -
 4 files changed, 156 insertions(+), 167 deletions(-)

Comments

Dave Kleikamp May 24, 2024, 9:42 p.m. UTC | #1
On 4/17/24 12:56PM, Matthew Wilcox (Oracle) wrote:
> This patchset removes uses of struct page from the I/O paths of JFS.
> write_begin and write_end are still passed a struct page, but they convert
> to a folio as their first thing.  The logmgr still uses a struct page,
> but I think that's one we actually don't want to convert since it's
> never inserted into the page cache.
> 
> I've included the removal of i_blocks_per_page() in this series as JFS
> is the last user.
> 
> Tested with xfstests; some failures observed, but they don't seem to be
> related to these patches.  I haven't tried with PAGE_SIZE > 4kB, so the
> MPS_PER_PAGE > 1 paths are untested.

These patches look good to me. I'm pushing to linux-next. I'm sorry I 
didn't get them reviewed in time for the 6.10 merge window, but I'll 
target 6.11.

Shaggy

> 
> v2:
>   - Fix build errors on machines with PAGE_SIZE > 4096
> 
> Matthew Wilcox (Oracle) (13):
>    jfs: Convert metapage_read_folio to use folio APIs
>    jfs: Convert metapage_writepage to metapage_write_folio
>    jfs: Convert __get_metapage to use a folio
>    jfs: Convert insert_metapage() to take a folio
>    jfs; Convert release_metapage to use a folio
>    jfs: Convert drop_metapage and remove_metapage to take a folio
>    jfs: Convert dec_io to take a folio
>    jfs; Convert __invalidate_metapages to use a folio
>    jfs: Convert page_to_mp to folio_to_mp
>    jfs: Convert inc_io to take a folio
>    jfs: Convert force_metapage to use a folio
>    jfs: Change metapage->page to metapage->folio
>    fs: Remove i_blocks_per_page
> 
>   fs/jfs/jfs_logmgr.c     |   2 +-
>   fs/jfs/jfs_metapage.c   | 299 ++++++++++++++++++++--------------------
>   fs/jfs/jfs_metapage.h   |  16 +--
>   include/linux/pagemap.h |   6 -
>   4 files changed, 156 insertions(+), 167 deletions(-)
>