diff options
author | Christoph Hellwig <hch@lst.de> | 2021-10-21 08:06:05 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-10-22 16:33:57 +0200 |
commit | 68ec3b819a5d600a4ede8b596761dccac9f39ebc (patch) | |
tree | 3c5e400ee170381870fd834cada2f60c5d795302 /drivers/target | |
parent | bsg-lib: initialize the bsg_job in bsg_transport_sg_io_fn (diff) | |
download | linux-68ec3b819a5d600a4ede8b596761dccac9f39ebc.tar.xz linux-68ec3b819a5d600a4ede8b596761dccac9f39ebc.zip |
scsi: add a scsi_alloc_request helper
Add a new helper that calls blk_get_request and initializes the
scsi_request to avoid the indirect call through ->.initialize_rq_fn.
Note that this makes the pktcdvd driver depend on the SCSI core, but
given that only SCSI devices support SCSI passthrough requests that
is not a functional change.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20211021060607.264371-6-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_pscsi.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c index 75ef52f008ff..b5705a2bd761 100644 --- a/drivers/target/target_core_pscsi.c +++ b/drivers/target/target_core_pscsi.c @@ -980,11 +980,10 @@ pscsi_execute_cmd(struct se_cmd *cmd) memcpy(pt->pscsi_cdb, cmd->t_task_cdb, scsi_command_size(cmd->t_task_cdb)); - req = blk_get_request(pdv->pdv_sd->request_queue, + req = scsi_alloc_request(pdv->pdv_sd->request_queue, cmd->data_direction == DMA_TO_DEVICE ? REQ_OP_DRV_OUT : REQ_OP_DRV_IN, 0); if (IS_ERR(req)) { - pr_err("PSCSI: blk_get_request() failed\n"); ret = TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; goto fail; } |