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 |