Lines Matching refs:req
212 static int bsg_map_buffer(struct bsg_buffer *buf, struct request *req)
214 size_t sz = (sizeof(struct scatterlist) * req->nr_phys_segments);
216 BUG_ON(!req->nr_phys_segments);
221 sg_init_table(buf->sg_list, req->nr_phys_segments);
222 buf->sg_cnt = blk_rq_map_sg(req->q, req, buf->sg_list);
223 buf->payload_len = blk_rq_bytes(req);
230 * @req: BSG request that needs a job structure
232 static bool bsg_prepare_job(struct device *dev, struct request *req)
234 struct bsg_job *job = blk_mq_rq_to_pdu(req);
237 job->timeout = req->timeout;
239 if (req->bio) {
240 ret = bsg_map_buffer(&job->request_payload, req);
277 struct request *req = bd->rq;
283 blk_mq_start_request(req);
288 if (!bsg_prepare_job(dev, req))
291 ret = bset->job_fn(blk_mq_rq_to_pdu(req));
301 static int bsg_init_rq(struct blk_mq_tag_set *set, struct request *req,
304 struct bsg_job *job = blk_mq_rq_to_pdu(req);
312 static void bsg_exit_rq(struct blk_mq_tag_set *set, struct request *req,
315 struct bsg_job *job = blk_mq_rq_to_pdu(req);