| Function report | 
| 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 activity | Download SCCT | Chinese | 
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:
| Type | Parameter | Name | 
|---|---|---|
| struct request_queue * | q | |
| struct bio * | bio | |
| unsigned int | nr_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 | 
| Name | Describe | 
|---|---|
| dd_bio_merge | |
| bfq_bio_merge | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |