[RFC PATCH v3 0/3] Async nvme passthrough over io_uring
Kanchan Joshi
joshi.k at samsung.com
Tue Mar 16 14:01:23 GMT 2021
This series adds async passthrough capability for nvme block-dev over
iouring_cmd. The patches are on top of Jens uring-cmd branch:
https://git.kernel.dk/cgit/linux-block/log/?h=io_uring-fops.v3
Application is expected to allocate passthrough command structure, set
it up traditionally, and pass its address via "block_uring_cmd->addr".
On completion, CQE is posted with completion-status after any ioctl
specific buffer/field update.
Changes from v2:
1. Rebase against latest uring-cmd branch of Jens
2. Remove per-io nvme_command allocation
3. Disallow passthrough commands with non-zero command effects
Change from v1:
1. Rewire the work on top of Jens uring-cmd interface
2. Support only passthrough, and not other nvme ioctls
Kanchan Joshi (3):
io_uring: add helper for uring_cmd completion in submitter-task
nvme: keep nvme_command instead of pointer to it
nvme: wire up support for async passthrough
drivers/nvme/host/core.c | 186 ++++++++++++++++++++++++++++++-----
drivers/nvme/host/fabrics.c | 4 +-
drivers/nvme/host/lightnvm.c | 16 +--
drivers/nvme/host/nvme.h | 5 +-
drivers/nvme/host/pci.c | 1 +
fs/io_uring.c | 36 ++++++-
include/linux/io_uring.h | 8 ++
7 files changed, 213 insertions(+), 43 deletions(-)
--
2.25.1
More information about the Linux-nvme
mailing list