函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-merge.c Create Date:2022-07-27 18:41:27
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:ll_merge_requests_fn

函数原型:static int ll_merge_requests_fn(struct request_queue *q, struct request *req, struct request *next)

返回类型:int

参数:

类型参数名称
struct request_queue *q
struct request *req
struct request *next
647  如果req_gap_back_merge(req, bio)则返回:0
653  如果blk_rq_sectors(req)加blk_rq_sectors(next)大于blk_rq_get_max_sectors(req, lk_rq_pos() : the current sector* blk_rq_bytes() : bytes left in the entire request* blk_rq_cur_bytes() : bytes left in the current segment* blk_rq_err_bytes() : bytes left till the next error boundary* blk_rq_sectors() : sectors left in the entire )则返回:0
657  total_phys_segments等于* Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed.* Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed.
658  如果total_phys_segments大于queue_max_segments(q)则返回:0
661  如果(blk_integrity_merge_rq(q, req, next) == false)则返回:0
665  * Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed.等于total_phys_segments
666  返回:1
调用者
名称描述
attempt_mergeFor non-mq, this has to be called with the request spinlock acquired.* For mq with scheduling, the appropriate queue wide lock should be held.