Commit eaf72f7b authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring/uring_cmd: cleanup struct io_uring_cmd_data layout



A few spots in uring_cmd assume that the SQEs copied are always at the
start of the structure, and hence mix req->async_data and the struct
itself.

Clean that up and use the proper indices.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d58d82bd
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -192,8 +192,8 @@ static int io_uring_cmd_prep_setup(struct io_kiocb *req,
		return 0;
	}

	memcpy(req->async_data, sqe, uring_sqe_size(req->ctx));
	ioucmd->sqe = req->async_data;
	memcpy(cache->sqes, sqe, uring_sqe_size(req->ctx));
	ioucmd->sqe = cache->sqes;
	return 0;
}

@@ -260,7 +260,7 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
		struct io_uring_cmd_data *cache = req->async_data;

		if (ioucmd->sqe != (void *) cache)
			memcpy(cache, ioucmd->sqe, uring_sqe_size(req->ctx));
			memcpy(cache->sqes, ioucmd->sqe, uring_sqe_size(req->ctx));
		return -EAGAIN;
	} else if (ret == -EIOCBQUEUED) {
		return -EIOCBQUEUED;