Lines Matching refs:flush_rq
216 static enum rq_end_io_ret flush_end_io(struct request *flush_rq,
219 struct request_queue *q = flush_rq->q;
223 struct blk_flush_queue *fq = blk_get_flush_queue(q, flush_rq->mq_ctx);
228 if (!req_ref_put_and_test(flush_rq)) {
234 blk_account_io_flush(flush_rq);
240 WRITE_ONCE(flush_rq->state, MQ_RQ_IDLE);
247 flush_rq->tag = BLK_MQ_NO_TAG;
249 blk_mq_put_driver_tag(flush_rq);
250 flush_rq->internal_tag = BLK_MQ_NO_TAG;
295 struct request *flush_rq = fq->flush_rq;
313 blk_rq_init(q, flush_rq);
323 flush_rq->mq_ctx = first_rq->mq_ctx;
324 flush_rq->mq_hctx = first_rq->mq_hctx;
327 flush_rq->tag = first_rq->tag;
334 flush_rq->rq_flags |= RQF_MQ_INFLIGHT;
336 flush_rq->internal_tag = first_rq->internal_tag;
338 flush_rq->cmd_flags = REQ_OP_FLUSH | REQ_PREFLUSH;
339 flush_rq->cmd_flags |= (flags & REQ_DRV) | (flags & REQ_FAILFAST_MASK);
340 flush_rq->rq_flags |= RQF_FLUSH_SEQ;
341 flush_rq->end_io = flush_end_io;
345 * blk_mq_find_and_get_req(), which orders WRITE/READ flush_rq->ref
346 * and READ flush_rq->end_io
349 req_ref_set(flush_rq, 1);
352 list_add_tail(&flush_rq->queuelist, &q->flush_list);
498 fq->flush_rq = kzalloc_node(rq_sz, flags, node);
499 if (!fq->flush_rq)
519 kfree(fq->flush_rq);