diff mbox series

[v2] scsi: docs: update notes about scsi_times_out

Message ID 20220219001601.3534043-1-khazhy@google.com
State New
Headers show
Series [v2] scsi: docs: update notes about scsi_times_out | expand

Commit Message

Khazhismel Kumykov Feb. 19, 2022, 12:16 a.m. UTC
Most importantly: eh_timed_out() is not limited by scmd->allowed,
and can reset timer forever.

Fixes: c829c394165f ("[SCSI] FC transport : Avoid device offline cases by stalling aborts until device unblocked")

Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
---
 Documentation/scsi/scsi_eh.rst | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

Comments

Bart Van Assche Feb. 22, 2022, 6:32 p.m. UTC | #1
On 2/18/22 16:16, Khazhismel Kumykov wrote:
> Most importantly: eh_timed_out() is not limited by scmd->allowed,
> and can reset timer forever.
> 
> Fixes: c829c394165f ("[SCSI] FC transport : Avoid device offline cases by stalling aborts until device unblocked")
> 
> Signed-off-by: Khazhismel Kumykov <khazhy@google.com>

No blank line between a "Fixes:" tag and a "Signed-off-by:" tag please. 
Anyway:

Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Martin K. Petersen Feb. 28, 2022, 2:33 a.m. UTC | #2
Khazhismel,

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

Applied to 5.18/scsi-staging, thanks!
Martin K. Petersen March 2, 2022, 5:13 a.m. UTC | #3
On Fri, 18 Feb 2022 16:16:01 -0800, Khazhismel Kumykov wrote:

> Most importantly: eh_timed_out() is not limited by scmd->allowed,
> and can reset timer forever.
> 
> Fixes: c829c394165f ("[SCSI] FC transport : Avoid device offline cases by stalling aborts until device unblocked")
> 
> 

Applied to 5.18/scsi-queue, thanks!

[1/1] scsi: docs: update notes about scsi_times_out
      https://git.kernel.org/mkp/scsi/c/5c139ce9e1c2
diff mbox series

Patch

diff --git a/Documentation/scsi/scsi_eh.rst b/Documentation/scsi/scsi_eh.rst
index 7d78c2475615..885395dc1f15 100644
--- a/Documentation/scsi/scsi_eh.rst
+++ b/Documentation/scsi/scsi_eh.rst
@@ -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.