函数逻辑报告 |
Source Code:block\blk-mq.c |
Create Date:2022-07-27 18:43:59 |
| Last Modify:2020-03-17 23:18:05 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:blk_mq_get_request
函数原型:static struct request *blk_mq_get_request(struct request_queue *q, struct bio *bio, struct blk_mq_alloc_data *data)
返回类型:struct request
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct request_queue * | q | |
| struct bio * | bio | |
| struct blk_mq_alloc_data * | data |
| 341 | bool clear_ctx_on_error = false |
| 342 | alloc_time_ns等于0 |
| 344 | blk_queue_enter_live(q) |
| 347 | 如果blk_queue_rq_alloc_time(q)则alloc_time_ns等于ktime_get_ns() |
| 350 | input parameter 等于q |
| 351 | 如果此条件成立可能性大(为编译器优化)(! input & output parameter )则 |
| 353 | clear_ctx_on_error = true |
| 355 | 如果此条件成立可能性大(为编译器优化)(!hctx)则hctx等于lk_mq_map_queue() - map (cmd_flags,type) to hardware queue*@q: request queue*@flags: request command flags*@cpu: cpu ctx |
| 358 | 如果cmd_flags按位与REQ_NOWAIT则flags或等于BLK_MQ_REQ_NOWAIT |
| 361 | 如果e则 |
| 362 | flags或等于BLK_MQ_REQ_INTERNAL |
| 373 | 否则 |
| 374 | blk_mq_tag_busy(hctx) |
| 377 | tag等于blk_mq_get_tag(data) |
| 378 | 如果tag恒等于BLK_MQ_TAG_FAIL则 |
| 385 | rq等于blk_mq_rq_ctx_init(data, tag, cmd_flags, alloc_time_ns) |
| 397 | 返回:rq |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |