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

Reply via email to