[PATCH for-next v4 1/4] io_uring: introduce io_uring_cmd_import_fixed
Jens Axboe
axboe at kernel.dk
Mon Sep 5 10:50:20 PDT 2022
On 9/5/22 7:48 AM, Kanchan Joshi wrote:
> From: Anuj Gupta <anuj20.g at samsung.com>
>
> This is a new helper that callers can use to obtain a bvec iterator for
> the previously mapped buffer. This is preparatory work to enable
> fixed-buffer support for io_uring_cmd.
>
> Signed-off-by: Anuj Gupta <anuj20.g at samsung.com>
> Signed-off-by: Kanchan Joshi <joshi.k at samsung.com>
> ---
> include/linux/io_uring.h | 8 ++++++++
> io_uring/uring_cmd.c | 11 +++++++++++
> 2 files changed, 19 insertions(+)
>
> diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h
> index 58676c0a398f..dba6fb47aa6c 100644
> --- a/include/linux/io_uring.h
> +++ b/include/linux/io_uring.h
> @@ -4,6 +4,7 @@
>
> #include <linux/sched.h>
> #include <linux/xarray.h>
> +#include <uapi/linux/io_uring.h>
>
> enum io_uring_cmd_flags {
> IO_URING_F_COMPLETE_DEFER = 1,
> @@ -32,6 +33,8 @@ struct io_uring_cmd {
> };
>
> #if defined(CONFIG_IO_URING)
> +int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
> + struct iov_iter *iter, void *ioucmd);
> void io_uring_cmd_done(struct io_uring_cmd *cmd, ssize_t ret, ssize_t res2);
> void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd,
> void (*task_work_cb)(struct io_uring_cmd *));
> @@ -59,6 +62,11 @@ static inline void io_uring_free(struct task_struct *tsk)
> __io_uring_free(tsk);
> }
> #else
> +int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
> + struct iov_iter *iter, void *ioucmd)
> +{
> + return -1;
> +}
Is this right? Shouldn't it return -EOPNOTSUPP or another suitable actual
error value?
Apart from that, I think the patchset looks fine now.
--
Jens Axboe
More information about the Linux-nvme
mailing list