Commit 5c139ce9 authored by Khazhismel Kumykov's avatar Khazhismel Kumykov Committed by Martin K. Petersen

scsi: core: docs: Update notes about scsi_times_out

Most importantly: eh_timed_out() is not limited by scmd->allowed, and can
reset timer forever.

Fixes: c829c394 ("[SCSI] FC transport : Avoid device offline cases by stalling aborts until device unblocked")
Link: https://lore.kernel.org/r/20220219001601.3534043-1-khazhy@google.comReviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarKhazhismel Kumykov <khazhy@google.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent e3af2e3b
...@@ -95,19 +95,18 @@ function ...@@ -95,19 +95,18 @@ function
- BLK_EH_RESET_TIMER - BLK_EH_RESET_TIMER
This indicates that more time is required to finish the This indicates that more time is required to finish the
command. Timer is restarted. This action is counted as a command. Timer is restarted.
retry and only allowed scmd->allowed + 1(!) times. Once the
limit is reached, action for BLK_EH_DONE is taken instead.
- BLK_EH_DONE - BLK_EH_DONE
eh_timed_out() callback did not handle the command. eh_timed_out() callback did not handle the command.
Step #2 is taken. Step #2 is taken.
2. scsi_abort_command() is invoked to schedule an asynchrous abort. 2. scsi_abort_command() is invoked to schedule an asynchronous abort which may
Asynchronous abort are not invoked for commands which the issue a retry scmd->allowed + 1 times. Asynchronous aborts are not invoked
SCSI_EH_ABORT_SCHEDULED flag is set (this indicates that the command for commands for which the SCSI_EH_ABORT_SCHEDULED flag is set (this
already had been aborted once, and this is a retry which failed), indicates that the command already had been aborted once, and this is a
or when the EH deadline is expired. In these case Step #3 is taken. retry which failed), when retries are exceeded, or when the EH deadline is
expired. In these cases Step #3 is taken.
3. scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD) is invoked for the 3. scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD) is invoked for the
command. See [1-4] for more information. command. See [1-4] for more information.
......
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