On Fri, Mar 21, 2025 at 07:43:09AM +0530, Ritesh Harjani wrote: > i.e. w/o large folios in block devices one could do direct-io & > buffered-io in parallel even just next to each other (assuming 4k pagesize). > > |4k-direct-io | 4k-buffered-io | > > > However with large folios now supported in buffered-io path for block > devices, the application cannot submit such direct-io + buffered-io > pattern in parallel. Since direct-io can end up invalidating the folio > spanning over it's 4k range, on which buffered-io is in progress. Why would buffered io span more than the 4k range here? You're talking to the raw block device in both cases, so they have the exact same logical block size alignment. Why is buffered io allocating beyond the logical size granularity?