[PATCH 0/2] io_uring r/w with metadata
Vincent Fu <[email protected]> Wed, 23 Jul 2025 13:04:55 -0400
| Newsgroups | org.kernel.vger.fio |
|---|---|
| Message-ID | <[email protected]> |
These two patches add support for io_uring read and write operations for block devices with metadata. The first patch adds this support to the io_uring ioengine and the second patch adds a script for this feature using NVMe devices. This code has been tested on the kernel below: tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs-6.17.integrity with the patch below applied https://lore.kernel.org/linux-block/[email protected]/ This code has passed testing under the following settings: QEMU NVMe device 512B data size; 8B, 16B, 64B metadata size; 16b Guard PI QEMU NVMe device 4K data size; 16B, 64B metadata size, 64b Guard PI I have not been able to run the following tests due to platform issues: QEMU NVMe device 4K data size; any metadata size; 16b Guard PI nvme format fails scsi-debug device module is loaded with dif=1,2,or 3 but PI support is not detected Would appreciate help anyone can provide for the missing test platforms. Vincent Fu (2): engines/io_uring: support r/w with metadata t/io_uring_pi: test script for io_uring PI engines/io_uring.c | 241 ++++++++++++++++++++++++-- engines/nvme.c | 35 ++-- engines/nvme.h | 18 ++ io_u.h | 1 + os/linux/io_uring.h | 15 ++ t/io_uring_pi.py | 408 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 681 insertions(+), 37 deletions(-) create mode 100644 t/io_uring_pi.py -- 2.47.2