函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\iov_iter.c Create Date:2022-07-27 07:19:47
Last Modify:2022-05-21 11:43:54 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:iov_iter_revert

函数原型:void iov_iter_revert(struct iov_iter *i, size_t unroll)

返回类型:void

参数:

类型参数名称
struct iov_iter *i
size_tunroll
1080  如果非unroll则返回
1082  如果WARN_ON(unroll > MAX_RW_COUNT)则返回
1084  count加等于unroll
1085  如果此条件成立可能性小(为编译器优化)(iov_iter_is_pipe(i))则
1086  pipe等于pipe
1087  p_mask等于ring_size减1
1088  i_head等于head
1089  off等于iov_offset
1090  当1循环
1091  b等于bufs[i_head & p_mask]
1092  n等于offoffset
1093  如果unroll小于n
1094  off减等于unroll
1095  退出
1097  unroll减等于n
1098  如果非unrolli_head恒等于start_head
1099  off等于0
1100  退出
1102  i_head自减
1103  b等于bufs[i_head & p_mask]
1104  off等于offsetlen
1106  iov_offset等于off
1107  head等于i_head
1108  pipe_truncate(i)
1109  返回
1111  如果此条件成立可能性小(为编译器优化)(iov_iter_is_discard(i))则返回
1113  如果unroll小于等于iov_offset
1114  iov_offset减等于unroll
1115  返回
1117  unroll减等于iov_offset
1118  如果iov_iter_is_bvec(i)则
1119  bvec等于bvec
1120  当1循环
1121  n等于bv_len
1122  nr_segs自加
1123  如果unroll小于等于n
1124  bvec等于bvec
1125  iov_offset等于nunroll
1126  返回
1128  unroll减等于n
1130  否则
1131  iov等于iov
1132  当1循环
1134  nr_segs自加
1135  如果unroll小于等于n
1136  iov等于iov
1137  iov_offset等于nunroll
1138  返回
1140  unroll减等于n
调用者
名称描述
generic_file_direct_write
iomap_dio_rwmap_dio_rw() always completes O_[D]SYNC writes regardless of whether the IO* is being issued as AIO or not. This allows us to optimise pure data writes* to use REQ_FUA rather than requiring generic_write_sync() to issue a* REQ_FLUSH post write
generic_file_read_itergeneric_file_read_iter - generic filesystem read routine*@iocb: kernel I/O control block*@iter: destination for the data read* This is the "read_iter()" routine for all filesystems* that can use the page cache directly
copy_linear_skb
iomap_dio_bio_actor