Lines Matching refs:rq

9 #include "dm-rq.h"
13 #define DM_MSG_PREFIX "core-rq"
122 static struct dm_rq_target_io *tio_from_request(struct request *rq)
124 return blk_mq_rq_to_pdu(rq);
161 struct request *rq = tio->orig;
166 rq_end_stats(md, rq);
167 blk_mq_end_request(rq, error);
182 static void dm_mq_delay_requeue_request(struct request *rq, unsigned long msecs)
184 blk_mq_requeue_request(rq, false);
185 __dm_mq_kick_requeue_list(rq->q, msecs);
191 struct request *rq = tio->orig;
194 rq_end_stats(md, rq);
200 dm_mq_delay_requeue_request(rq, delay_ms);
251 static void dm_softirq_done(struct request *rq)
254 struct dm_rq_target_io *tio = tio_from_request(rq);
260 rq_end_stats(md, rq);
261 blk_mq_end_request(rq, tio->error);
266 if (rq->rq_flags & RQF_FAILED)
276 static void dm_complete_request(struct request *rq, blk_status_t error)
278 struct dm_rq_target_io *tio = tio_from_request(rq);
281 if (likely(!blk_should_fake_timeout(rq->q)))
282 blk_mq_complete_request(rq);
291 static void dm_kill_unmapped_request(struct request *rq, blk_status_t error)
293 rq->rq_flags |= RQF_FAILED;
294 dm_complete_request(rq, error);
320 static int setup_clone(struct request *clone, struct request *rq,
325 r = blk_rq_prep_clone(clone, rq, &tio->md->mempools->bs, gfp_mask,
338 static void init_tio(struct dm_rq_target_io *tio, struct request *rq,
344 tio->orig = rq;
367 struct request *rq = tio->orig;
371 r = ti->type->clone_and_map_rq(ti, rq, &tio->info, &clone);
377 if (setup_clone(clone, rq, tio, GFP_ATOMIC)) {
385 blk_rq_pos(rq));
399 dm_complete_request(rq, ret);
411 dm_kill_unmapped_request(rq, BLK_STS_IOERR);
457 static int dm_mq_init_request(struct blk_mq_tag_set *set, struct request *rq,
461 struct dm_rq_target_io *tio = blk_mq_rq_to_pdu(rq);
480 struct request *rq = bd->rq;
481 struct dm_rq_target_io *tio = blk_mq_rq_to_pdu(rq);
509 dm_start_request(md, rq);
512 init_tio(tio, rq, md);
522 rq_end_stats(md, rq);