Lines Matching refs:req
246 struct request *req;
250 req = blk_get_request(sdev->request_queue,
254 if (IS_ERR(req))
256 rq = scsi_req(req);
258 if (bufflen && blk_rq_map_kern(sdev->request_queue, req,
265 req->timeout = timeout;
266 req->cmd_flags |= flags;
267 req->rq_flags |= rq_flags | RQF_QUIET;
272 blk_execute_rq(req->q, NULL, req, 1);
291 blk_put_request(req);
565 static bool scsi_end_request(struct request *req, blk_status_t error,
568 struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req);
572 if (blk_update_request(req, error, bytes))
576 add_disk_randomness(req->rq_disk);
578 if (!blk_rq_is_scsi(req)) {
606 __blk_mq_end_request(req, error);
663 struct request *req = cmd->request;
669 wait_for = (cmd->allowed + 1) * req->timeout;
682 struct request *req = cmd->request;
806 if (!(req->rq_flags & RQF_QUIET)) {
827 if (!scsi_end_request(req, blk_stat, blk_rq_err_bytes(req)))
854 struct request *req = cmd->request;
861 if (blk_rq_is_passthrough(req)) {
866 scsi_req(req)->sense_len =
872 } else if (blk_rq_bytes(req) == 0 && sense_current) {
875 * good_bytes != blk_rq_bytes(req) as the signal for an error.
895 else if (req->rq_flags & RQF_QUIET)
943 struct request *req = cmd->request;
949 if (unlikely(blk_rq_is_passthrough(req))) {
953 scsi_req(req)->result = cmd->result;
962 blk_rq_sectors(req), good_bytes));
968 if (likely(blk_rq_bytes(req) > 0 || blk_stat == BLK_STS_OK)) {
969 if (likely(!scsi_end_request(req, blk_stat, good_bytes)))
975 if (scsi_end_request(req, blk_stat, blk_rq_bytes(req)))
1117 scsi_req_init(&cmd->req);
1159 to_clear = sizeof(*cmd) - sizeof(cmd->req);
1162 memset((char *)cmd + sizeof(cmd->req), 0, to_clear);
1177 struct request *req)
1179 struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req);
1187 if (req->bio) {
1192 BUG_ON(blk_rq_bytes(req));
1197 cmd->cmd_len = scsi_req(req)->cmd_len;
1198 cmd->cmnd = scsi_req(req)->cmd;
1199 cmd->transfersize = blk_rq_bytes(req);
1200 cmd->allowed = scsi_req(req)->retries;
1205 scsi_device_state_check(struct scsi_device *sdev, struct request *req)
1239 if (req && WARN_ON_ONCE(!(req->rq_flags & RQF_PM)))
1247 if (req && !(req->rq_flags & RQF_PM))
1551 static blk_status_t scsi_prepare_cmd(struct request *req)
1553 struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req);
1554 struct scsi_device *sdev = req->q->queuedata;
1560 cmd->request = req;
1561 cmd->tag = req->tag;
1563 if (blk_rq_bytes(req))
1564 cmd->sc_data_direction = rq_dma_dir(req);
1582 if (blk_rq_is_scsi(req))
1583 return scsi_setup_scsi_cmnd(sdev, req);
1586 blk_status_t ret = sdev->handler->prep_fn(sdev, req);
1592 cmd->cmnd = scsi_req(req)->cmd = scsi_req(req)->__cmd;
1647 struct request *req = bd->rq;
1648 struct request_queue *q = req->q;
1651 struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req);
1660 ret = scsi_device_state_check(sdev, req);
1671 if (!(req->rq_flags & RQF_DONTPREP)) {
1672 ret = scsi_prepare_cmd(req);
1675 req->rq_flags |= RQF_DONTPREP;
1690 blk_mq_start_request(req);
1717 scsi_req(req)->result = DID_NO_CONNECT << 16;
1719 scsi_req(req)->result = DID_ERROR << 16;
1725 if (req->rq_flags & RQF_DONTPREP)
1733 static enum blk_eh_timer_return scsi_timeout(struct request *req,
1738 return scsi_times_out(req);
1756 cmd->req.sense = cmd->sense_buffer;