• Jens Axboe's avatar
    io_uring: pass in 'sqe' to the prep handlers · 3529d8c2
    Jens Axboe authored
    This moves the prep handlers outside of the opcode handlers, and allows
    us to pass in the sqe directly. If the sqe is non-NULL, it means that
    the request should be prepared for the first time.
    
    With the opcode handlers not having access to the sqe at all, we are
    guaranteed that the prep handler has setup the request fully by the
    time we get there. As before, for opcodes that need to copy in more
    data then the io_kiocb allows for, the io_async_ctx holds that info. If
    a prep handler is invoked with req->io set, it must use that to retain
    information for later.
    
    Finally, we can remove io_kiocb->sqe as well.
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    3529d8c2
io_uring.c 130 KB