函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:For files that don't have ->read_iter() and ->write_iter(), handle them* by looping over ->read() or ->write() manually.

函数原型:static ssize_t loop_rw_iter(int rw, struct file *file, struct kiocb *kiocb, struct iov_iter *iter)

返回类型:ssize_t

参数:

类型参数名称
intrw
struct file *file
struct kiocb *kiocb
struct iov_iter *iter
1709  ret等于0
1716  如果ki_flags按位与IOCB_HIPRI则返回:负EOPNOTSUPP
1718  如果ki_flags按位与IOCB_NOWAIT则返回:负EAGAIN
1721 iov_iter_count(iter)循环
1725  如果非iov_iter_is_bvec(iter)则
1726  iovec等于iov_iter_iovec(iter)
1727  否则
1735  如果rw恒等于generic data direction definitions
1738  否则
1743  如果iov_iter_is_bvec(iter)则kunmap(bv_page)
1746  如果nr小于0则
1747  如果非retret等于nr
1749  退出
1751  ret加等于nr
1752  如果nr不等于 Must be size_t (1003.1g) 退出
1754  iov_iter_advance(iter, nr)
1757  返回:ret
调用者
名称描述
io_read
io_write