diff options
author | Hannes Reinecke <hare@suse.de> | 2017-04-06 15:36:29 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-04-06 13:07:32 -0400 |
commit | 7a38dc0bfb4cc39ed57e120e2224673f3d4d200f (patch) | |
tree | dda758d27227c2070ec989fcd7494c8bd454b658 /include/scsi | |
parent | 104d9c7f94aa835b9d7bde38b13b611ddb8adbb6 (diff) | |
download | linux-7a38dc0bfb4cc39ed57e120e2224673f3d4d200f.tar.gz linux-7a38dc0bfb4cc39ed57e120e2224673f3d4d200f.tar.bz2 linux-7a38dc0bfb4cc39ed57e120e2224673f3d4d200f.zip |
scsi: scsi_error: count medium access timeout only once per EH run
The current medium access timeout counter will be increased for
each command, so if there are enough failed commands we'll hit
the medium access timeout for even a single device failure and
the following kernel message is displayed:
sd H:C:T:L: [sdXY] Medium access timeout failure. Offlining disk!
Fix this by making the timeout per EH run, ie the counter will
only be increased once per device and EH run.
Fixes: 18a4d0a ("[SCSI] Handle disk devices which can not process medium access commands")
Cc: Ewan Milne <emilne@redhat.com>
Cc: Lawrence Obermann <loberman@redhat.com>
Cc: Benjamin Block <bblock@linux.vnet.ibm.com>
Cc: Steffen Maier <maier@linux.vnet.ibm.com>
Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_driver.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/scsi_driver.h b/include/scsi/scsi_driver.h index 891a658aa867..a5534ccad859 100644 --- a/include/scsi/scsi_driver.h +++ b/include/scsi/scsi_driver.h @@ -16,6 +16,7 @@ struct scsi_driver { void (*uninit_command)(struct scsi_cmnd *); int (*done)(struct scsi_cmnd *); int (*eh_action)(struct scsi_cmnd *, int); + void (*eh_reset)(struct scsi_cmnd *); }; #define to_scsi_driver(drv) \ container_of((drv), struct scsi_driver, gendrv) |