mbox series

[RFCv3,0/7] ext2 iomap changes and iomap improvements

Message ID cover.1714046808.git.ritesh.list@gmail.com (mailing list archive)
Headers show
Series ext2 iomap changes and iomap improvements | expand

Message

Ritesh Harjani (IBM) April 25, 2024, 1:28 p.m. UTC
Hello all,

Here is a RFCv3 which implements ext2 iomap changes and I have also included
some iomap improvements along with implementing BH_Boundary fix within iomap.

Posting this more as an update (before conference/call) to the current work
since it has survived few runs of xfstests -

Patch 1-4 implements ext2 regular file buffered I/O to use iomap APIs.
Patch 5 & 6 are iomap improvements which me and Ojaswin noticed during code reviews.
Patch 7 optimizes the data access patterns for filesystems with indirect block
mappings. Thanks to Matthew Wilcox for pointing the problem and providing a
rough solution to BH_Boundary problem within iomap (which this patch is based
on).

Please note that I would still like to work on following aspects before
thinking of merging any of these -

1. Look into how dir handling for ext2 should be handled. Since ext2 uses page
   cache for that, can we directly use iomap? Do we need any other iomap ops for
   implementing dir handling? Basically either a PoC or some theoretical
   understanding of how we should handle dir for ext2.

2. Integrate Patch 4 within Patch-2. Kept it separate for review.

3. Test patch 5 & 6 separately before thinking of getting those merged. The
   changes look ok to me and I would like those to be reviewed. But I hope to
   get more testing done on those patches individually, because those are not
   dependent on this series.

4. Patch 7 is an early RFC to get an idea on whether it is taking the right
   direction or not. If this looks ok, then I can polish the series, carefully
   review at any missed corner cases (hopefully I have covered all),
   work on other points in this todo list and do more testing before posting
   another version.

5. Write few fstests to excercise the paths more for the overall series.

Ritesh Harjani (IBM) (7):
  ext2: Remove comment related to journal handle
  ext2: Convert ext2 regular file buffered I/O to use iomap
  ext2: Enable large folio support
  ext2: Implement seq counter for validating cached iomap
  iomap: Fix iomap_adjust_read_range for plen calculation
  iomap: Optimize iomap_read_folio
  iomap: Optimize data access patterns for filesystems with indirect mappings

 fs/ext2/balloc.c       |   1 +
 fs/ext2/ext2.h         |   6 ++
 fs/ext2/file.c         |  20 +++++-
 fs/ext2/inode.c        | 126 +++++++++++++++++++++++++++++++++++---
 fs/ext2/super.c        |   2 +-
 fs/iomap/buffered-io.c | 135 ++++++++++++++++++++++++++++++++---------
 6 files changed, 248 insertions(+), 42 deletions(-)

--
2.44.0