VOOZH about

URL: https://www.phoronix.com/news/Linux-7.0-Block-Changes

⇱ Linux 7.0 Block Changes Land, Bounce Buffer DIO For Stable Pages - Phoronix


👁 Phoronix

Linux 7.0 Block Changes Land, Bounce Buffer DIO For Stable Pages

Written by Michael Larabel in Linux Storage on 10 February 2026 at 09:09 AM EST. Add A Comment
In addition to the BPF filtering support for IO_uring that was merged on Monday, the other block device changes and IO_uring updates were also merged for the newly-opened Linux 7.0 merge window.

The block and IO_uring updates were merged to Linux 7.0 alongside that (c)BPF filtering work sent in separately. The block merge landed:

- Batch I/O dispatch for ublk to provide greater performance for the user-space block device driver framework.

- Support for integirty data for ublk along with other improvements.

- An async_depth queue attribute is added to resolve a performance regression.

- The MD code fixes a I/O hang with degraded RAD arrays with llbitmap.

- Improving the secure erase performance for some storage devices.

Meanwhile this pull added support for bounce buffering of Direct I/O for stable pages. That bounce buffering of DIO for stable pages is described as:
"This series tries to address the problem that under I/O pages can be modified during direct I/O, even when the device or file system require stable pages during I/O to calculate checksums, parity or data operations. It does so by adding block layer helpers to bounce buffer an iov_iter into a bio, then wires that up in iomap and ultimately XFS.

The reason that the file system even needs to know about it, is because reads need a user context to copy the data back, and the infrastructure to defer ioends to a workqueue currently sits in XFS. I'm going to look into moving that into ioend and enabling it for other file systems. Additionally btrfs already has it's own infrastructure for this, and actually an urgent need to bounce buffer, so this should be useful there and could be wire up easily. In fact the idea comes from patches by Qu that did this in btrfs.

This patch fixes all but one xfstests failures on T10 PI capable devices (generic/095 seems to have issues with a mix of mmap and splice still, I'm looking into that separately), and make qemu VMs running Windows, or Linux with swap enabled fine on an XFS file on a device using PI."

There was also the IO_uring merge separate from the cBPF filtering work. That IO_uring code brought clean-ups, improving IOPOLL by using a doubly linked list for managing completions, improved restriction setup and checking, support for a non-circular submission queue, and other improvements.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.