函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:_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

函数原型:struct bio *bio_split(struct bio *bio, int sectors, gfp_t gfp, struct bio_set *bs)

返回类型:struct bio

参数:

类型参数名称
struct bio *bio
intsectors
gfp_tgfp
struct bio_set *bs
1895  BUG_ON(sectors <= 0)
1896  BUG_ON(sectors >= bio_sectors(bio))
1898  split等于_clone_fast - clone a bio that shares the original bio's biovec*@bio: bio to clone*@gfp_mask: allocation priority*@bs: bio_set to allocate from* Like __bio_clone_fast, only also allocates the returned bio
1899  如果非split则返回:NULL
1902  residual I/O count 等于sectors左移9位
1904  如果bio_integrity(split)则bio_integrity_trim(split)
1907  _advance - increment/complete a bio by some number of bytes*@bio: bio to advance*@bytes: number of bytes to complete* This updates bi_sector, bi_size and bi_idx; if the number of bytes to* complete doesn't align with a bvec boundary, then bv_len and
1909  如果bio_flagged(bio, BIO_TRACE_COMPLETION)则bio_set_flag(split, BIO_TRACE_COMPLETION)
1912  返回:split
调用者
名称描述
blk_bio_discard_split
blk_bio_write_zeroes_split
blk_bio_write_same_split
blk_bio_segment_splitlk_bio_segment_split - split a bio in two bios*@q: [in] request queue pointer*@bio: [in] bio to be split*@bs: [in] bio set to allocate the clone from*@segs: [out] number of segments in the bio with the first half of the sectors* Clone @bio, update the
__blk_queue_bounce
bio_next_split_next_split - get next @sectors from a bio, splitting if necessary*@bio: bio to split*@sectors: number of sectors to split from the front of @bio*@gfp: gfp mask*@bs: bio set to allocate from* Returns a bio representing the next @sectors of @bio - if the