On Fri, Jun 12, 2026 at 03:35:38PM +0800, Gao Xiang wrote: > btw, there may be be some edge cases like: > written | hole | written | hole | written ... > > and if bios cannot across multiple iomaps, bios could be > amplified according to the shuffle pattern even all written > data is consecutive on disk (the block allocator may > allocate written blocks consecutively.) > > Anyway, I never tried to argue with this cases (yet both > previous buffer-head and mpage codebase will merge this > except for some specific exceptions), maybe it's just a > pure artificial pattern and I'm worried too much.
We actually just had something like this come for XFS even with the current merging: https://lore.kernel.org/linux-xfs/6csdtjn33va4ivyycr4uh2ogac22xput4kgzxzt3mczdkvwjaf@37audfdijskv/T/#t although this involves REQ_NOWAIT and thus is a bit more complicated. But the merging scheme discussed there should also help with your above case in general.
