函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:io_connect

函数原型:static int io_connect(struct io_kiocb *req, struct io_kiocb **nxt, bool force_nonblock)

返回类型:int

参数:

类型参数名称
struct io_kiocb *req
struct io_kiocb **nxt
boolforce_nonblock
2460  如果io
2461  io等于io
2462  否则
2463  ret等于move_addr_to_kernel(addr, addr_len, & address)
2466  如果ret则转到:out
2468  io等于__io
2471  file_flags等于如果force_nonblockO_NONBLOCK否则0
2473  ret等于__sys_connect_file(file, & address, addr_len, file_flags)
2475  如果ret恒等于负EAGAINret恒等于负EINPROGRESS的值且force_nonblock
2476  如果io则返回:负EAGAIN
2478  如果io_alloc_async_ctx(req)则
2479  ret等于负ENOMEM
2480  转到:out
2482  memcpy( & connect, & connect, connect的长度)
2483  返回:负EAGAIN
2485  如果ret恒等于负These should never be seen by user programs. To return one of ERESTART** codes, signal_pending() MUST be set. Note that ptrace can observe these* at syscall exit tracing, but they will never be left for the debugged user* process to see.ret等于负EINTR
2487  out :
2488  如果ret小于0则req_set_fail_links(req)
2490  io_cqring_add_event(req, ret)
2491  Drop reference to request, return next in chain (if there is one) if this* was the last reference to this request.
2492  返回:0
调用者
名称描述
io_issue_sqe