On 2026/6/19 13:00, Christoph Hellwig wrote:
Currently the iomap buffered read path tries to build up read context (i.e. bios for the typical block based case) over multiple iomaps as long as the sector matches. This does not take into account files that can map to multiple different devices. While this could be fixed by a bdev check in iomap_bio_read_folio_range, the building up of I/O over iomaps actually was a problem for the not yet merged ext2 iomap port, as that does want to send out I/O at the end of an indirect block mapped range. So instead of adding more checks move over to a model where a bio only spans a single iomap. File systems can still create iomap that span more than an extent if they want to build larger I/O. Reported-by: Kelu Ye <[email protected]> Reported-by: Yifan Zhao <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Gao Xiang <[email protected]> Thanks, Gao Xiang
