On Fri, 7 Jan 2022 at 19:01, Jeffrey Lien <Jeff.Lien@xxxxxxx> wrote: > > I am trying to determine if FIO in Linux is dependent on the drive lba format (sector size + Protection Information size). I have not found any references to this in the FIO code but not totally sure where to look either. My thoughts on this is that the device driver for the particular drive (nvme driver in my particular case) or the block layer would handle this and isolate FIO from any dependencies but would like to confirm it. If anyone could either confirm this or explain any FIO dependencies, that would be greatly appreciated. Thanks Apart from specialist ioengines (e.g. the sg ioengine) fio submits I/O through the block layer and as such is beholden to it. For example when you do direct=1 I/O you have to follow the restrictions (positional alignment and size alignment) that the block layer imposes on O_DIRECT I/O (search for O_DIRECT in https://man7.org/linux/man-pages/man2/open.2.html ). The block layer in the kernel itself may be unhappy for I/O to be submitted to a device with a non-power of two block size... sometimes there's a warning in dmesg about this when the kernel starts. -- Sitsofe