All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Fu <vincentfu@gmail.com>
To: anuj1072538@gmail.com, axboe@kernel.dk, hch@infradead.org,
	joshi.k@samsung.com, anuj20.g@samsung.com, fio@vger.kernel.org
Cc: Vincent Fu <vincent.fu@samsung.com>
Subject: [PATCH 0/2] io_uring r/w with metadata
Date: Wed, 23 Jul 2025 13:04:55 -0400	[thread overview]
Message-ID: <cover.1753282479.git.vincent.fu@samsung.com> (raw)

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/20250722120755.87501-1-anuj20.g@samsung.com/

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


             reply	other threads:[~2025-07-23 17:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-23 17:04 Vincent Fu [this message]
2025-07-23 17:04 ` [PATCH 1/2] engines/io_uring: support r/w with metadata Vincent Fu
2025-07-23 17:23   ` Jens Axboe
2025-07-23 17:37     ` Jens Axboe
2025-07-23 18:28       ` Vincent Fu
2025-07-23 19:23         ` Jens Axboe
2025-07-23 17:04 ` [PATCH 2/2] t/io_uring_pi: test script for io_uring PI Vincent Fu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1753282479.git.vincent.fu@samsung.com \
    --to=vincentfu@gmail.com \
    --cc=anuj1072538@gmail.com \
    --cc=anuj20.g@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=fio@vger.kernel.org \
    --cc=hch@infradead.org \
    --cc=joshi.k@samsung.com \
    --cc=vincent.fu@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.