mbox series

[v2,00/11] Convert (most of) ntfs3 to use folios

Message ID 20240422193203.3534108-1-willy@infradead.org (mailing list archive)
Headers show
Series Convert (most of) ntfs3 to use folios | expand

Message

Matthew Wilcox April 22, 2024, 7:31 p.m. UTC
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(-)

Comments

Konstantin Komarov April 23, 2024, 2:51 p.m. UTC | #1
On 22.04.2024 22:31, Matthew Wilcox (Oracle) wrote:
> 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(-)
>
Hi Matthew,

We have started testing the switch to folio as you proposed in v1.
Some of our tests went down.

After adapting I will add your patches with some minor changes.