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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux