函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Attempt to do an insertion back merge. Only check for the case where* we can append 'rq' to an existing request, so we can throw 'rq' away* afterwards.* Returns true if we merged, false otherwise

函数原型:bool elv_attempt_insert_merge(struct request_queue *q, struct request *rq)

返回类型:bool

参数:

类型参数名称
struct request_queue *q
struct request *rq
361  如果blk_queue_nomerges(q)则返回:false
367  如果last_mergeblk_attempt_req_merge(q, last_merge, rq)则返回:true
370  如果blk_queue_noxmerges(q)则返回:false
373  ret = false
377  当1循环
378  __rq等于elv_rqhash_find(q, 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 )
379  如果非__rq或非blk_attempt_req_merge(q, __rq, rq)则退出
383  ret = true
384  rq等于__rq
387  返回:ret
调用者
名称描述
blk_mq_sched_try_insert_merge