scsi: scsi_error: count medium access timeout only once per EH run
authorHannes Reinecke <hare@suse.de>
Thu, 6 Apr 2017 13:36:29 +0000 (15:36 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 6 Apr 2017 17:07:32 +0000 (13:07 -0400)
commit7a38dc0bfb4cc39ed57e120e2224673f3d4d200f
treedda758d27227c2070ec989fcd7494c8bd454b658
parent104d9c7f94aa835b9d7bde38b13b611ddb8adbb6
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>
drivers/scsi/scsi_error.c
drivers/scsi/sd.c
drivers/scsi/sd.h
include/scsi/scsi_driver.h