Commit adcc796b authored by Chunguang Xu's avatar Chunguang Xu Committed by Martin K. Petersen

scsi: core: Use eh_timeout for START STOP UNIT

In some scenarios START STOP UNIT may time out. The default recovery
time of 30 seconds is relatively large. Modifying rq_timeout to adjust
the START STOP UNIT timeout value will affect the regular I/O.

Commit 9728c081 ("[SCSI] make scsi_eh_try_stu use block timeout")
switched to rq_timeout for the START STOP UNIT command. However commit
0816c925 ("[SCSI] Allow error handling timeout to be specified")
introduced an explicit eh_timeout parameter. It makes more sense to
use this value as the timeout for START STOP UNIT.

Link: https://lore.kernel.org/r/1636507412-21678-1-git-send-email-brookxu.cn@gmail.comReviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarWu Bo <wubo40@huawei.com>
Signed-off-by: default avatarChunguang Xu <brookxu@tencent.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 0a84486d
......@@ -1430,7 +1430,8 @@ static int scsi_eh_try_stu(struct scsi_cmnd *scmd)
enum scsi_disposition rtn = NEEDS_RETRY;
for (i = 0; rtn == NEEDS_RETRY && i < 2; i++)
rtn = scsi_send_eh_cmnd(scmd, stu_command, 6, scmd->device->request_queue->rq_timeout, 0);
rtn = scsi_send_eh_cmnd(scmd, stu_command, 6,
scmd->device->eh_timeout, 0);
if (rtn == SUCCESS)
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment