函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\bio.h Create Date:2022-07-27 06:46:45
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:bio_flagged

函数原型:static inline bool bio_flagged(struct bio *bio, unsigned int bit)

返回类型:bool

参数:

类型参数名称
struct bio *bio
unsigned intbit
234  返回: status, etc and bvec pool number 按位与1U左移bit位的值不等于0
调用者
名称描述
bio_put_put - release a reference to a bio*@bio: bio to release reference to* Description:* Put a reference to a &struct bio, either one you have gotten with* bio_alloc, bio_get or bio_clone_*. The last put of a bio will free it.
__bio_clone_fast__bio_clone_fast - clone a bio that shares the original bio's biovec*@bio: destination bio*@bio_src: bio to clone* Clone a &bio. Caller will own the returned bio, but not* the actual data it points to. Reference count of returned* bio will be one.
__bio_add_pc_page__bio_add_pc_page - attempt to add page to passthrough bio*@q: the target queue*@bio: destination bio*@page: page to add*@len: vec entry length*@offset: vec entry offset*@same_page: return if the merge happen inside the same page
__bio_try_merge_page__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
__bio_add_page__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
bio_release_pages
bio_uncopy_user_uncopy_user - finish previously mapped bio*@bio: bio being terminated* Free pages allocated from bio_copy_user_iov() and write back data* to user space in case of a read.
bio_remaining_done
bio_endio_endio - end I/O on a bio*@bio: bio* Description:* bio_endio() will end I/O on the whole bio. bio_endio() is the preferred* way to end I/O on a bio. No one should call bi_end_io() directly on a
bio_split_split - split a bio*@bio: bio to split*@sectors: number of sectors to split from the front of @bio*@gfp: gfp mask*@bs: bio set to allocate from* Allocates and returns a new bio which represents @sectors from the start of
generic_make_request_checks
submit_biosubmit_bio - submit a bio to the block device layer for I/O*@bio: The &struct bio which describes the I/O* submit_bio() is very similar in purpose to generic_make_request(), and* uses that function to do most of the work. Both are fairly rough
__blk_rq_unmap_user
blk_rq_map_user_iovlk_rq_map_user_iov - map user data to a request, for passthrough requests*@q: request queue where request should be inserted*@rq: request to map data to*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask:
blk_rq_unmap_user卸载一个用户数据的请求
throtl_charge_bio
blk_throtl_bio
blkcg_iolatency_done_bio
end_bio_bh_io_sync
iomap_finish_ioendWe're now finished for good with this ioend structure. Update the page* state, release holds on bios, and finally free up memory. Do not use the* ioend after this.
bio_first_bvec_all
bio_last_bvec_all
blkcg_bio_issue_check