Lines Matching refs:flush_rq
219 static void flush_end_io(struct request *flush_rq, blk_status_t error) in flush_end_io() argument
221 struct request_queue *q = flush_rq->q; in flush_end_io()
226 struct blk_flush_queue *fq = blk_get_flush_queue(q, flush_rq->mq_ctx); in flush_end_io()
233 hctx = blk_mq_map_queue(q, flush_rq->mq_ctx->cpu); in flush_end_io()
234 blk_mq_tag_set_rq(hctx, flush_rq->tag, fq->orig_rq); in flush_end_io()
235 flush_rq->tag = -1; in flush_end_io()
245 elv_completed_request(q, flush_rq); in flush_end_io()
294 struct request *flush_rq = fq->flush_rq; in blk_kick_flush() local
318 blk_rq_init(q, flush_rq); in blk_kick_flush()
328 flush_rq->mq_ctx = first_rq->mq_ctx; in blk_kick_flush()
329 flush_rq->tag = first_rq->tag; in blk_kick_flush()
333 blk_mq_tag_set_rq(hctx, first_rq->tag, flush_rq); in blk_kick_flush()
336 flush_rq->cmd_flags = REQ_OP_FLUSH | REQ_PREFLUSH; in blk_kick_flush()
337 flush_rq->rq_flags |= RQF_FLUSH_SEQ; in blk_kick_flush()
338 flush_rq->rq_disk = first_rq->rq_disk; in blk_kick_flush()
339 flush_rq->end_io = flush_end_io; in blk_kick_flush()
341 return blk_flush_queue_rq(flush_rq, false); in blk_kick_flush()
560 fq->flush_rq = kzalloc_node(rq_sz, GFP_KERNEL, node); in blk_alloc_flush_queue()
561 if (!fq->flush_rq) in blk_alloc_flush_queue()
582 kfree(fq->flush_rq); in blk_free_flush_queue()