函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |