Skip to content
Snippets Groups Projects
Commit ee60b2c5 authored by Eiichi Tsukata's avatar Eiichi Tsukata Committed by James Bottomley
Browse files

[SCSI] Add timeout to avoid infinite command retry


Currently, scsi error handling in scsi_io_completion() tries to
unconditionally requeue scsi command when device keeps some error state.
For example, UNIT_ATTENTION causes infinite retry with
action == ACTION_RETRY.
This is because retryable errors are thought to be temporary and the scsi
device will soon recover from those errors. Normally, such retry policy is
appropriate because the device will soon recover from temporary error state.

But there is no guarantee that device is able to recover from error state
immediately. Some hardware error can prevent device from recovering.

This patch adds timeout in scsi_io_completion() to avoid infinite command
retry in scsi_io_completion(). Once scsi command retry time is longer than
this timeout, the command is treated as failure.

Signed-off-by: default avatarEiichi Tsukata <eiichi.tsukata.xh@hitachi.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent eee2b5c8
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment