Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-mq-sched.c Create Date:2022-07-28 17:15:03
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:blk_mq_sched_try_merge

Proto:bool blk_mq_sched_try_merge(struct request_queue *q, struct bio *bio, unsigned int nr_segs, struct request **merged_request)

Type:bool

Parameter:

TypeParameterName
struct request_queue *q
struct bio *bio
unsigned intnr_segs
struct request **merged_request
232  Case elv_merge(q, & rq, bio) == ELEVATOR_BACK_MERGE
233  If Not blk_mq_sched_allow_merge(q, rq, bio) Then Return false
235  If Not bio_attempt_back_merge(rq, bio, nr_segs) Then Return false
237  merged_request = attempt_back_merge(q, rq)
238  If Not merged_request Then elv_merged_request(q, rq, ELEVATOR_BACK_MERGE)
240  Return true
241  Case elv_merge(q, & rq, bio) == ELEVATOR_FRONT_MERGE
242  If Not blk_mq_sched_allow_merge(q, rq, bio) Then Return false
244  If Not bio_attempt_front_merge(rq, bio, nr_segs) Then Return false
246  merged_request = attempt_front_merge(q, rq)
247  If Not merged_request Then elv_merged_request(q, rq, ELEVATOR_FRONT_MERGE)
249  Return true
250  Case elv_merge(q, & rq, bio) == ELEVATOR_DISCARD_MERGE
251  Return bio_attempt_discard_merge(q, rq, bio)
252  Default
253  Return false
Caller
NameDescribe
dd_bio_merge
bfq_bio_merge