One of the early pull requests for Linux 6.15 that I’ve been meaning to highlight are the VFS iomap updates sent in by Microsoft engineer Christian Brauner. In particular, the VFS iomap pull brings preparations for large atomic writes and its upcoming usage by the XFS and EXT4 file-systems.
The VFS iomap pull that landed back at the start of the merge window bring some interesting changes like allowing the file-system to submit the writeback bios and tracking completions on a per-bio basis rather than the entire I/O. There is also support for making buffered writes work with RWF_DONTCACHE. RWF_DONTCACHE was introduced in Linux 6.14 for uncached buffered I/O.
The pull request also added initial infrastructure work for handling large atomic writes. The large atomic write support is being worked on for both EXT4 and XFS. But in time for the Linux 6.15 merge window just some of the initial infrastructure patches were in shape for merging.
“Currently atomic write support for xfs is limited to writing a single block as we have no way to guarantee alignment and that the write covers a single extent.
This series introduces a method to issue atomic writes via a software emulated method.
The software emulated method is used as a fallback for when attempting to issue an atomic write over misaligned or multiple extents.
For XFS, this support is based on CoW.
The basic idea of this CoW method is to alloc a range in the CoW fork, write the data, and atomically update the mapping.
Initial mysql performance testing has shown this method to perform ok. However, there we are only using 16K atomic writes (and 4K block size), so typically – and thankfully – this software fallback method won’t be used often.”
Nice seeing this initial infrastructure work ready and hopefully the file-system support for large atomic writes won’t be too far behind and make it into a future kernel release this year.