函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\io_uring.c Create Date:2022-07-29 10:54:56
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:io_async_find_and_cancel

函数原型:static void io_async_find_and_cancel(struct io_ring_ctx *ctx, struct io_kiocb *req, __u64 sqe_addr, struct io_kiocb **nxt, int success_ret)

返回类型:void

参数:

类型参数名称
struct io_ring_ctx *ctx
struct io_kiocb *req
__u64sqe_addr
struct io_kiocb **nxt
intsuccess_ret
3046  ret等于io_async_cancel_one(ctx, (void * )(unsignedlong)sqe_addr)
3047  如果ret不等于负ENOENT
3048  spin_lock_irqsave( & completion_lock, flags)
3049  转到:done
3052  spin_lock_irqsave( & completion_lock, flags)
3053  ret等于io_timeout_cancel(ctx, sqe_addr)
3054  如果ret不等于负ENOENT则转到:done
3056  ret等于io_poll_cancel(ctx, sqe_addr)
3057  done :
3058  如果非retret等于success_ret
3060  io_cqring_fill_event(req, ret)
3061  io_commit_cqring(ctx)
3062  spin_unlock_irqrestore( & completion_lock, flags)
3063  io_cqring_ev_posted(ctx)
3065  如果ret小于0则req_set_fail_links(req)
3067  Drop reference to request, return next in chain (if there is one) if this* was the last reference to this request.
调用者
名称描述
io_async_cancel
io_link_timeout_fn