diff options
author | Pankaj Raghav <p.raghav@samsung.com> | 2021-12-20 19:47:34 +0530 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-12-21 09:38:25 -0700 |
commit | 7567defdb3c6a81e4114a03ddf3d6c158df81a76 (patch) | |
tree | 58db2804294104872c606b4f29a7e44543370b3c /drivers/nvme/host/nvme.h | |
parent | 8d684aa889d335d791e6c7adeb070345bfbba26a (diff) |
nvme: Add async passthru polling supportnvme-passthru-wip.2
IO_URING already has polling support for read and write. This patch
extends that support for uring cmd passthu. The unused flag in
uring_cmd struct is used to indicate if the completion should be polled.
If device side polling is not enabled, then the submission request will
fallback to a non-polled request.
Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
Link: https://lore.kernel.org/r/20211220141734.12206-14-joshi.k@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme/host/nvme.h')
-rw-r--r-- | drivers/nvme/host/nvme.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h index 56a7cc8421fc..730ada8a3e8e 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -752,8 +752,12 @@ long nvme_dev_ioctl(struct file *file, unsigned int cmd, unsigned long arg); int nvme_ns_chr_async_cmd(struct io_uring_cmd *ucmd, enum io_uring_cmd_flags flags); +int nvme_iopoll(struct kiocb *kiocb, struct io_comp_batch *iob, + unsigned int flags); int nvme_ns_head_chr_async_cmd(struct io_uring_cmd *ucmd, enum io_uring_cmd_flags flags); +int nvme_ns_head_iopoll(struct kiocb *kiocb, struct io_comp_batch *iob, + unsigned int flags); int nvme_getgeo(struct block_device *bdev, struct hd_geometry *geo); extern const struct attribute_group *nvme_ns_id_attr_groups[]; |