On Fri, Feb 07, 2025 at 11:04:06AM +0100, Daniel Gomez wrote: > > > performance in the stx_blksize field of the statx data structure. This > > > change updates the current default 4 KiB block size for all devices > > > reporting a minimum I/O larger than 4 KiB, opting instead to query for > > > its advertised minimum I/O value in the statx data struct. > > > > UUuh, no. Larger block sizes have their use cases, but this will > > regress performance for a lot (most?) common setups. A lot of > > device report fairly high values there, but say increasing the > > Are these devices reporting the correct value? Who defines what "correct" means to start with? > As I mentioned in my > discussion with Darrick, matching the minimum_io_size with the "fs > fundamental blocksize" actually allows to avoid RMW operations (when > using the default path in mkfs.xfs and the value reported is within > boundaries). At least for buffered I/O it does not remove RMW operations at all, it just moves them up. And for plenty devices the min_io size might be set to larger than LBA size, but the device is still reasonably efficient at handling smaller I/O (e.g. because it has power loss protection and stages writes in powerfail protected memory).