io_uring: unify calling convention for async prep handling
authorJens Axboe <axboe@kernel.dk>
Mon, 23 May 2022 23:16:21 +0000 (17:16 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 31 May 2022 08:50:06 +0000 (02:50 -0600)
Make them consistent in preparation for defining a req async prep
handler. The readv/writev requests share a prep handler, move it one
level down so the initial one is consistent with the others.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index d5ef7b7..4d2bdcc 100644 (file)
@@ -4176,6 +4176,16 @@ static inline int io_rw_prep_async(struct io_kiocb *req, int rw)
        return 0;
 }
 
+static int io_readv_prep_async(struct io_kiocb *req)
+{
+       return io_rw_prep_async(req, READ);
+}
+
+static int io_writev_prep_async(struct io_kiocb *req)
+{
+       return io_rw_prep_async(req, WRITE);
+}
+
 /*
  * This is our waitqueue callback handler, registered through __folio_lock_async()
  * when we initially tried to do the IO with the iocb armed our waitqueue.
@@ -8136,9 +8146,9 @@ static int io_req_prep_async(struct io_kiocb *req)
 
        switch (req->opcode) {
        case IORING_OP_READV:
-               return io_rw_prep_async(req, READ);
+               return io_readv_prep_async(req);
        case IORING_OP_WRITEV:
-               return io_rw_prep_async(req, WRITE);
+               return io_writev_prep_async(req);
        case IORING_OP_SENDMSG:
                return io_sendmsg_prep_async(req);
        case IORING_OP_RECVMSG: