函数逻辑报告 |
Source Code:block\blk-flush.c |
Create Date:2022-07-27 18:38:11 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:lk_insert_flush - insert a new PREFLUSH/FUA request*@rq: request to insert* To be called from __elv_add_request() for %ELEVATOR_INSERT_FLUSH insertions.* or __blk_mq_run_hw_queue() to dispatch request.*@rq is being submitted
函数原型:void blk_insert_flush(struct request *rq)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct request * | rq |
| 377 | policy等于blk_flush_policy(fflags, rq) |
| 378 | fq等于blk_get_flush_queue(q, mq_ctx) |
| 384 | op and common flags 与等于REQ_PREFLUSH的反 |
| 385 | 如果非fflags按位与1UL左移device supports FUA writes 位的值则 op and common flags 与等于REQ_FUA的反 |
| 393 | op and common flags 或等于REQ_SYNC |
| 401 | 如果非policy则 |
| 402 | blk_mq_end_request(rq, 0) |
| 403 | 返回 |
| 413 | 如果policy按位与REQ_FSEQ_DATA且非policy按位与REQ_FSEQ_PREFLUSH按位或REQ_FSEQ_POSTFLUSH的值的值则 |
| 415 | blk_mq_request_bypass_insert(rq, false) |
| 416 | 返回 |
| 424 | 初始化链表头 |
| 430 | spin_lock_irq( & mq_flush_lock) |
| 432 | spin_unlock_irq( & mq_flush_lock) |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |