函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:iov_iter_advance

函数原型:void iov_iter_advance(struct iov_iter *i, size_t size)

返回类型:void

参数:

类型参数名称
struct iov_iter *i
size_tsize
1066  如果此条件成立可能性小(为编译器优化)(iov_iter_is_pipe(i))则
1067  pipe_advance(i, size)
1068  返回
1070  如果此条件成立可能性小(为编译器优化)(iov_iter_is_discard(i))则
1071  count减等于size
1072  返回
1074  iterate_and_advance(i, size, v, 0, 0, 0)
调用者
名称描述
_copy_from_iter_full
_copy_from_iter_full_nocache
csum_and_copy_from_iter_full
__bio_iov_iter_get_pages__bio_iov_iter_get_pages - pin user or kernel pages and add them to a bio*@bio: bio to add pages to*@iter: iov iterator describing the region to be mapped* Pins pages from *iter and appends them to @bio's bvec array. The
bio_copy_user_iov_copy_user_iov - copy user data to bio*@q: destination block queue*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask: memory allocation flags* Prepares and returns a bio for indirect user io, bouncing data
bio_map_user_iov_map_user_iov - map user iovec into bio*@q: the struct request_queue for the bio*@iter: iovec iterator*@gfp_mask: memory allocation flags* Map the user space address into a bio suitable for io to a block* device. Returns an error pointer in case of error.
generic_file_splice_readgeneric_file_splice_read - splice data from file to a pipe*@in: file to splice from*@ppos: position in @in*@pipe: pipe to splice to*@len: number of bytes to splice*@flags: splice modifier flags* Description:
default_file_splice_read
iter_to_pipe
dio_refill_pagesGo grab and pin some userspace pages. Typically we'll get 64 at a time.
io_import_fixed
loop_rw_iterFor files that don't have ->read_iter() and ->write_iter(), handle them* by looping over ->read() or ->write() manually.
iomap_write_actor
generic_perform_write
__bio_iov_bvec_add_pages
do_loop_readv_writevDo it by hand, with file-ops