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