Commit 157dc813 authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: unify calling convention for async prep handling



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: default avatarJens Axboe <axboe@kernel.dk>
parent fcde59fe
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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: