函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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
375  q等于q
376  fflags等于* various queue flags, see QUEUE_* below
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  返回
406  BUG_ON(bio != biotail)
413  如果policy按位与REQ_FSEQ_DATA且非policy按位与REQ_FSEQ_PREFLUSH按位或REQ_FSEQ_POSTFLUSH的值的值则
415  blk_mq_request_bypass_insert(rq, false)
416  返回
423  memset( & flush, 0, flush的长度)
424  初始化链表头
425  rq_flags或等于quest for flush sequence
426  saved_end_io等于* completion callback.
428  * completion callback.等于mq_flush_data_end_io
430  spin_lock_irq( & mq_flush_lock)
431  lk_flush_complete_seq - complete flush sequence*@rq: PREFLUSH/FUA request being sequenced*@fq: flush queue*@seq: sequences to complete (mask of %REQ_FSEQ_*, can be zero)*@error: whether an error occurred*@rq just completed @seq part of its flush sequence,
432  spin_unlock_irq( & mq_flush_lock)
调用者
名称描述
blk_mq_make_request
blk_mq_sched_insert_request