Lines Matching refs:rq
227 static int lo_write_simple(struct loop_device *lo, struct request *rq, in lo_write_simple() argument
234 rq_for_each_segment(bvec, rq, iter) { in lo_write_simple()
249 static int lo_write_transfer(struct loop_device *lo, struct request *rq, in lo_write_transfer() argument
261 rq_for_each_segment(bvec, rq, iter) { in lo_write_transfer()
279 static int lo_read_simple(struct loop_device *lo, struct request *rq, in lo_read_simple() argument
287 rq_for_each_segment(bvec, rq, iter) { in lo_read_simple()
298 __rq_for_each_bio(bio, rq) in lo_read_simple()
308 static int lo_read_transfer(struct loop_device *lo, struct request *rq, in lo_read_transfer() argument
322 rq_for_each_segment(bvec, rq, iter) { in lo_read_transfer()
346 __rq_for_each_bio(bio, rq) in lo_read_transfer()
358 static int lo_discard(struct loop_device *lo, struct request *rq, loff_t pos) in lo_discard() argument
375 ret = file->f_op->fallocate(file, mode, pos, blk_rq_bytes(rq)); in lo_discard()
382 static int lo_req_flush(struct loop_device *lo, struct request *rq) in lo_req_flush() argument
392 static int do_req_filebacked(struct loop_device *lo, struct request *rq) in do_req_filebacked() argument
397 pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset; in do_req_filebacked()
399 if (rq->cmd_flags & REQ_WRITE) { in do_req_filebacked()
400 if (rq->cmd_flags & REQ_FLUSH) in do_req_filebacked()
401 ret = lo_req_flush(lo, rq); in do_req_filebacked()
402 else if (rq->cmd_flags & REQ_DISCARD) in do_req_filebacked()
403 ret = lo_discard(lo, rq, pos); in do_req_filebacked()
405 ret = lo_write_transfer(lo, rq, pos); in do_req_filebacked()
407 ret = lo_write_simple(lo, rq, pos); in do_req_filebacked()
411 ret = lo_read_transfer(lo, rq, pos); in do_req_filebacked()
413 ret = lo_read_simple(lo, rq, pos); in do_req_filebacked()
1433 struct loop_cmd *cmd = blk_mq_rq_to_pdu(bd->rq); in loop_queue_rq()
1434 struct loop_device *lo = cmd->rq->q->queuedata; in loop_queue_rq()
1436 blk_mq_start_request(bd->rq); in loop_queue_rq()
1441 if (cmd->rq->cmd_flags & REQ_WRITE) { in loop_queue_rq()
1442 struct loop_device *lo = cmd->rq->q->queuedata; in loop_queue_rq()
1464 const bool write = cmd->rq->cmd_flags & REQ_WRITE; in loop_handle_cmd()
1465 struct loop_device *lo = cmd->rq->q->queuedata; in loop_handle_cmd()
1471 ret = do_req_filebacked(lo, cmd->rq); in loop_handle_cmd()
1475 cmd->rq->errors = -EIO; in loop_handle_cmd()
1476 blk_mq_complete_request(cmd->rq); in loop_handle_cmd()
1512 static int loop_init_request(void *data, struct request *rq, in loop_init_request() argument
1516 struct loop_cmd *cmd = blk_mq_rq_to_pdu(rq); in loop_init_request()
1518 cmd->rq = rq; in loop_init_request()