OSDN Git Service

nvme: add vectored-io support for user-passthrough
authorKanchan Joshi <joshi.k@samsung.com>
Thu, 10 Feb 2022 05:37:55 +0000 (11:07 +0530)
committerChristoph Hellwig <hch@lst.de>
Mon, 28 Feb 2022 11:45:06 +0000 (13:45 +0200)
commit89377bc1975c2993bde4a498a3a4e5817ac0ae2c
tree1552a793b9cb282ae7a1edd5c691c007372f928e
parentbd83fe6f2cd2133beaac7c423fd36c3515048fc8
nvme: add vectored-io support for user-passthrough

Add a new NVME_IOCTL_IO64_CMD_VEC ioctl that works like the existing
NVME_IOCTL_IO64_CMD ioctl except that it takes and array of iovecs
and thus supports vectored I/O.

  - cmd.addr is base address of user iovec array
  - cmd.vec_cnt is count of iovec array elements

This patch does not include vectored-variant for admin-commands as most
of them are light on buffers and likely to have low invocation frequency.

Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/ioctl.c
include/uapi/linux/nvme_ioctl.h