函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_link_timeout_fn

函数原型:static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer)

返回类型:enum hrtimer_restart

参数:

类型参数名称
struct hrtimer *timer
3460  data等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(timer, structio_timeout_data, timer)
3462  req等于req
3463  ctx等于ctx
3464  struct io_kiocb * prev = NULL
3467  spin_lock_irqsave( & completion_lock, flags)
3473  如果非链表为空
3474  prev等于list_entry - get the struct for this entry*@ptr: the &struct list_head pointer.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.(链表前项, structio_kiocb, link_list)
3478  flags与等于has linked timeout 的反
3479  否则prev = NULL
3483  spin_unlock_irqrestore( & completion_lock, flags)
3485  如果prev
3486  req_set_fail_links(prev)
3487  io_async_find_and_cancel(ctx, req, user_data, NULL, - ETIME)
3489  io_put_req(prev)
3490  否则
3491  io_cqring_add_event(req, - ETIME)
3492  io_put_req(req)
3494  返回:Timer is not restarted