函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bio.c Create Date:2022-07-27 18:30:31
Last Modify:2020-03-17 23:13:58 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__bio_add_page - add page(s) to a bio in a new segment*@bio: destination bio*@page: start page to add*@len: length of the data to add, may cross pages*@off: offset of the data relative to @page, may cross pages

函数原型:void __bio_add_page(struct bio *bio, struct page *page, unsigned int len, unsigned int off)

返回类型:void

参数:

类型参数名称
struct bio *bio
struct page *page
unsigned intlen
unsigned intoff
834  bv等于 the actual vec list [ how many bio_vec's ]
836  WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED))
837  WARN_ON_ONCE(_full - check if the bio is full*@bio: bio to check*@len: length of one segment to be added* Return true if @bio is full and one segment with @len bytes can't be* added to the bio, otherwise return false)
839  bv_page等于page
840  bv_offset等于off
841  bv_len等于len
843  residual I/O count 加等于len
844  how many bio_vec's 自加
846  如果非bio_flagged(bio, BIO_WORKINGSET)且此条件成立可能性小(为编译器优化)(PageWorkingset(page))则bio_set_flag(bio, BIO_WORKINGSET)
调用者
名称描述
bio_add_page_add_page - attempt to add page(s) to bio*@bio: destination bio*@page: start page to add*@len: vec entry length, may cross pages*@offset: vec entry offset relative to @page, may cross pages* Attempt to add page(s) to the bio_vec maplist
__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
iomap_dio_zero