From 7a9b0d6925b2b13640a94ca6e72a753bb39526b2 Mon Sep 17 00:00:00 2001 From: Pavel Begunkov Date: Mon, 24 Feb 2025 19:45:06 +0000 Subject: [PATCH] io_uring/rw: open code io_prep_rw_setup() Open code io_prep_rw_setup() into its only caller, it doesn't provide any meaningful abstraction anymore. Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/61ba72e2d46119db71f27ab908018e6a6cd6c064.1740425922.git.asml.silence@gmail.com [axboe: fold in 'ret' being unused fix] Signed-off-by: Jens Axboe --- io_uring/rw.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/io_uring/rw.c b/io_uring/rw.c index 4f7fa2520820..10a4a95ada02 100644 --- a/io_uring/rw.c +++ b/io_uring/rw.c @@ -204,17 +204,6 @@ static int io_rw_alloc_async(struct io_kiocb *req) return 0; } -static int io_prep_rw_setup(struct io_kiocb *req, int ddir, bool do_import) -{ - struct io_async_rw *rw; - - if (!do_import || io_do_buffer_select(req)) - return 0; - - rw = req->async_data; - return io_import_rw_buffer(ddir, req, rw, 0); -} - static inline void io_meta_save_state(struct io_async_rw *io) { io->meta_state.seed = io->meta.seed; @@ -287,10 +276,14 @@ static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe, rw->addr = READ_ONCE(sqe->addr); rw->len = READ_ONCE(sqe->len); rw->flags = READ_ONCE(sqe->rw_flags); - ret = io_prep_rw_setup(req, ddir, do_import); - if (unlikely(ret)) - return ret; + if (do_import && !io_do_buffer_select(req)) { + struct io_async_rw *io = req->async_data; + + ret = io_import_rw_buffer(ddir, req, io, 0); + if (unlikely(ret)) + return ret; + } attr_type_mask = READ_ONCE(sqe->attr_type_mask); if (attr_type_mask) { @@ -301,9 +294,9 @@ static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe, return -EINVAL; attr_ptr = READ_ONCE(sqe->attr_ptr); - ret = io_prep_rw_pi(req, rw, ddir, attr_ptr, attr_type_mask); + return io_prep_rw_pi(req, rw, ddir, attr_ptr, attr_type_mask); } - return ret; + return 0; } int io_prep_read(struct io_kiocb *req, const struct io_uring_sqe *sqe) -- 2.50.1