Lines Matching refs:rq

259 static int lo_write_simple(struct loop_device *lo, struct request *rq,
266 rq_for_each_segment(bvec, rq, iter) {
276 static int lo_read_simple(struct loop_device *lo, struct request *rq,
284 rq_for_each_segment(bvec, rq, iter) {
295 __rq_for_each_bio(bio, rq)
305 static int lo_fallocate(struct loop_device *lo, struct request *rq, loff_t pos,
320 ret = file->f_op->fallocate(file, mode, pos, blk_rq_bytes(rq));
326 static int lo_req_flush(struct loop_device *lo, struct request *rq)
335 static void lo_complete_rq(struct request *rq)
337 struct loop_cmd *cmd = blk_mq_rq_to_pdu(rq);
340 if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) ||
341 req_op(rq) != REQ_OP_READ) {
352 blk_update_request(rq, BLK_STS_OK, cmd->ret);
354 blk_mq_requeue_request(rq, true);
357 struct bio *bio = rq->bio;
366 blk_mq_end_request(rq, ret);
372 struct request *rq = blk_mq_rq_from_pdu(cmd);
378 if (likely(!blk_should_fake_timeout(rq->q)))
379 blk_mq_complete_request(rq);
396 struct request *rq = blk_mq_rq_from_pdu(cmd);
397 struct bio *bio = rq->bio;
404 rq_for_each_bvec(tmp, rq, rq_iter)
407 if (rq->bio != rq->biotail) {
421 rq_for_each_bvec(tmp, rq, rq_iter) {
438 iov_iter_bvec(&iter, rw, bvec, nr_bvec, blk_rq_bytes(rq));
459 static int do_req_filebacked(struct loop_device *lo, struct request *rq)
461 struct loop_cmd *cmd = blk_mq_rq_to_pdu(rq);
462 loff_t pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset;
473 switch (req_op(rq)) {
475 return lo_req_flush(lo, rq);
481 return lo_fallocate(lo, rq, pos,
482 (rq->cmd_flags & REQ_NOUNMAP) ?
486 return lo_fallocate(lo, rq, pos, FALLOC_FL_PUNCH_HOLE);
491 return lo_write_simple(lo, rq, pos);
496 return lo_read_simple(lo, rq, pos);
1839 struct request *rq = bd->rq;
1840 struct loop_cmd *cmd = blk_mq_rq_to_pdu(rq);
1841 struct loop_device *lo = rq->q->queuedata;
1843 blk_mq_start_request(rq);
1848 switch (req_op(rq)) {
1863 if (rq->bio) {
1864 cmd->blkcg_css = bio_blkcg_css(rq->bio);
1883 struct request *rq = blk_mq_rq_from_pdu(cmd);
1884 const bool write = op_is_write(req_op(rq));
1885 struct loop_device *lo = rq->q->queuedata;
1907 ret = do_req_filebacked(lo, rq);
1923 if (likely(!blk_should_fake_timeout(rq->q)))
1924 blk_mq_complete_request(rq);