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

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.com


Reviewed-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
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -95,19 +95,18 @@ function

    - BLK_EH_RESET_TIMER
	This indicates that more time is required to finish the
	command.  Timer is restarted.  This action is counted as a
	retry and only allowed scmd->allowed + 1(!) times.  Once the
	limit is reached, action for BLK_EH_DONE is taken instead.
	command.  Timer is restarted.

    - BLK_EH_DONE
        eh_timed_out() callback did not handle the command.
	Step #2 is taken.

 2. scsi_abort_command() is invoked to schedule an asynchrous abort.
    Asynchronous abort are not invoked for commands which the
    SCSI_EH_ABORT_SCHEDULED flag is set (this indicates that the command
    already had been aborted once, and this is a retry which failed),
    or when the EH deadline is expired. In these case Step #3 is taken.
 2. scsi_abort_command() is invoked to schedule an asynchronous abort which may
    issue a retry scmd->allowed + 1 times.  Asynchronous aborts are not invoked
    for commands for which the SCSI_EH_ABORT_SCHEDULED flag is set (this
    indicates that the command already had been aborted once, and this is a
    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
    command.  See [1-4] for more information.