Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\io_uring.c Create Date:2022-07-28 20:22:17
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:io_submit_sqe

Proto:static bool io_submit_sqe(struct io_kiocb *req, const struct io_uring_sqe *sqe, struct io_submit_state *state, struct io_kiocb **link)

Type:bool

Parameter:

TypeParameterName
struct io_kiocb *req
const struct io_uring_sqe *sqe
struct io_submit_state *state
struct io_kiocb **link
3627  ctx = ctx
3631  If Value for the false possibility is greater at compile time(IOSQE_ flags & ~SQE_VALID_FLAGS) Then
3632  ret = -EINVAL
3633  Go to err_req
3636  ret = io_req_set_file(state, req, sqe)
3637  If Value for the false possibility is greater at compile time(ret) Then
3638  err_req :
3639  io_cqring_add_event(req, ret)
3640  io_double_put_req(req)
3641  Return false
3651  If link Then
3652  prev = link
3654  If IOSQE_ flags & ssue after inflight IO Then flags |= link should be fully drained | drain existing IO first
3657  If IOSQE_ flags & like LINK, but stronger Then flags |= doesn't sever on completion < 0
3660  If io_alloc_async_ctx(req) Then
3661  ret = -EAGAIN
3662  Go to err_req
3665  ret = io_req_defer_prep(req, sqe)
3666  If ret Then
3669  Go to err_req
3671  _uring_link - called before the io_uring request added into link_list of* another request*@ctx: pointer to a ring context structure*@req: pointer to a linked request*@target_req: pointer to a previous request, that would contain @req* Allows to track
3672  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
3673  Else if IOSQE_ flags & (links next sqe | like LINK, but stronger ) Then
3674  flags |= linked sqes
3675  If IOSQE_ flags & like LINK, but stronger Then flags |= doesn't sever on completion < 0
3678  Initialization list head
3679  ret = io_req_defer_prep(req, sqe)
3680  If ret Then flags |= ail rest of links
3682  link = req
3683  Else
3684  io_queue_sqe(req, sqe)
3687  Return true
Caller
NameDescribe
io_submit_sqes