Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bio.c Create Date:2022-07-28 16:55:16
Last Modify:2020-03-17 23:13:58 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__bio_try_merge_page - try appending data to an existing bvec.*@bio: destination bio*@page: start page to add*@len: length of the data to add*@off: offset of the data relative to @page*@same_page: return if the segment has been merged inside the same page

Proto:bool __bio_try_merge_page(struct bio *bio, struct page *page, unsigned int len, unsigned int off, bool *same_page)

Type:bool

Parameter:

TypeParameterName
struct bio *bio
struct page *page
unsigned intlen
unsigned intoff
bool *same_page
803  If WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED)) Then Return false
806  If how many bio_vec's > 0 Then
807  bv = the actual vec list [ how many bio_vec's - 1]
809  If page_is_mergeable(bv, page, len, off, same_page) Then
810  If residual I/O count > UINT_MAX - len Then Return false
812  bv_len += len
814  Return true
817  Return false
Caller
NameDescribe
bio_try_merge_pc_page
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_add_to_ioendTest to see if we have an existing ioend structure that we could append to* first, otherwise finish off the current ioend and start another.