I'm not making any attempt here to support large folios. This is just to remove uses of the page-based APIs. There are still a number of places in ntfs3 which use a struct page, but this is a good start on the conversions. v2: - Rebase on next-20240422 - Drop "Convert reading $AttrDef to use folios", "Use a folio to read UpCase", "Remove inode_write_data()" and "Remove ntfs_map_page and ntfs_unmap_page" due to changes. - Add "Convert inode_read_data() to use folios", "Remove calls to set/clear the error flag", "Convert attr_wof_frame_info() to use a folio", "Convert ntfs_get_frame_pages() to use a folio", "Convert ni_readpage_cmpr() to take a folio" Matthew Wilcox (Oracle) (11): ntfs3: Convert ntfs_read_folio to use a folio ntfs3: Convert ntfs_write_begin to use a folio ntfs3: Convert attr_data_read_resident() to take a folio ntfs3: Convert ntfs_write_end() to work on a folio ntfs3: Convert attr_data_write_resident to use a folio ntfs3: Convert attr_make_nonresident to use a folio ntfs3: Convert inode_read_data() to use folios ntfs3: Remove calls to set/clear the error flag ntfs3: Convert attr_wof_frame_info() to use a folio ntfs3: Convert ntfs_get_frame_pages() to use a folio ntfs3: Convert ni_readpage_cmpr() to take a folio fs/ntfs3/attrib.c | 94 ++++++++++++++++++++-------------------------- fs/ntfs3/file.c | 17 +++++---- fs/ntfs3/frecord.c | 29 +++++++------- fs/ntfs3/inode.c | 73 ++++++++++++++++++----------------- fs/ntfs3/ntfs_fs.h | 8 ++-- 5 files changed, 102 insertions(+), 119 deletions(-) -- 2.43.0