函数逻辑报告 |
Source Code:block\blk-mq.c |
Create Date:2022-07-27 18:43:53 |
Last Modify:2020-03-17 23:18:05 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:blk_mq_rq_ctx_init
函数原型:static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data, unsigned int tag, unsigned int op, u64 alloc_time_ns)
返回类型:struct request
参数:
类型 | 参数 | 名称 |
---|---|---|
struct blk_mq_alloc_data * | data | |
unsigned int | tag | |
unsigned int | op | |
u64 | alloc_time_ns |
275 | tags等于blk_mq_tags_from_data(data) |
276 | rq等于static_rqs[tag] |
277 | rq_flags等于0 |
279 | 如果flags按位与BLK_MQ_REQ_INTERNAL则 |
280 | tag等于负1 |
281 | internal_tag等于tag |
282 | 否则 |
288 | internal_tag等于负1 |
293 | q等于 input parameter |
297 | op and common flags 等于op |
298 | 如果flags按位与BLK_MQ_REQ_PREEMPT则rq_flags或等于set for "ide_preempt" requests and also for requests for which the SCSI"quiesce" state must be ignored. |
302 | 初始化链表头 |
303 | INIT_HLIST_NODE( & merge hash ) |
304 | RB_CLEAR_NODE( & sort/lookup ) |
305 | rq_disk = NULL |
306 | part = NULL |
310 | 如果Only need start/end time stamping if we have iostat or* blk stats enabled, or using an IO scheduler.则 Time that this request was allocated for this IO. 等于ktime_get_ns() |
316 | * Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed.等于0 |
318 | nr_integrity_segments等于0 |
321 | length of alignment and padding 等于0 |
322 | WRITE_ONCE(deadline, 0) |
324 | timeout等于0 |
326 | * completion callback. = NULL |
327 | end_io_data = NULL |
329 | cremented at dispatch time [Reads are always treated as synchronous, as are requests with the FUA or* PREFLUSH flag. Other operations may be marked as synchronous using the* REQ_SYNC flag.]自加 |
331 | 返回:rq |
名称 | 描述 |
---|---|
blk_mq_get_request |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |