mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-21 01:41:59 +07:00
scsi: core: Move command size detection out of the fast path
We only need to detect the command size for ioctl request from userspace, which is limited to the passthrough path. Move the check there instead of doing it for all queuecommand invocations. Link: https://lore.kernel.org/r/20201005084130.143273-4-hch@lst.de Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
3a8dc5bbc8
commit
2ceda20f0a
@ -1181,6 +1181,8 @@ static blk_status_t scsi_setup_scsi_cmnd(struct scsi_device *sdev,
|
||||
}
|
||||
|
||||
cmd->cmd_len = scsi_req(req)->cmd_len;
|
||||
if (cmd->cmd_len == 0)
|
||||
cmd->cmd_len = scsi_command_size(cmd->cmnd);
|
||||
cmd->cmnd = scsi_req(req)->cmd;
|
||||
cmd->transfersize = blk_rq_bytes(req);
|
||||
cmd->allowed = scsi_req(req)->retries;
|
||||
@ -1694,8 +1696,6 @@ static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx,
|
||||
|
||||
scsi_set_resid(cmd, 0);
|
||||
memset(cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
|
||||
if (cmd->cmd_len == 0)
|
||||
cmd->cmd_len = scsi_command_size(cmd->cmnd);
|
||||
cmd->scsi_done = scsi_mq_done;
|
||||
|
||||
reason = scsi_dispatch_cmd(cmd);
|
||||
|
Loading…
Reference in New Issue
Block a user