[Midnightbsd-cvs] src [9357] trunk/sys/cam/scsi/scsi_all.c: Do not sent 120 TEST UNIT READY requests on generic NOT READY statuses.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Mar 4 14:39:14 EST 2017
Revision: 9357
http://svnweb.midnightbsd.org/src/?rev=9357
Author: laffer1
Date: 2017-03-04 14:39:13 -0500 (Sat, 04 Mar 2017)
Log Message:
-----------
Do not sent 120 TEST UNIT READY requests on generic NOT READY statuses.
Some failing disks tend to return vendor-specific ASC/ASCQ codes with
NOT READY sense key. It caused extremely long recovery attempts, repeating
these 120 TURs (it takes at least 1 minute) for every I/O request.
Instead of that use default error handling, doing just few retries.
Modified Paths:
--------------
trunk/sys/cam/scsi/scsi_all.c
Modified: trunk/sys/cam/scsi/scsi_all.c
===================================================================
--- trunk/sys/cam/scsi/scsi_all.c 2017-03-04 19:37:29 UTC (rev 9356)
+++ trunk/sys/cam/scsi/scsi_all.c 2017-03-04 19:39:13 UTC (rev 9357)
@@ -698,10 +698,7 @@
{
{ SSD_KEY_NO_SENSE, SS_NOP, "NO SENSE" },
{ SSD_KEY_RECOVERED_ERROR, SS_NOP|SSQ_PRINT_SENSE, "RECOVERED ERROR" },
- {
- SSD_KEY_NOT_READY, SS_TUR|SSQ_MANY|SSQ_DECREMENT_COUNT|EBUSY,
- "NOT READY"
- },
+ { SSD_KEY_NOT_READY, SS_RDEF, "NOT READY" },
{ SSD_KEY_MEDIUM_ERROR, SS_RDEF, "MEDIUM ERROR" },
{ SSD_KEY_HARDWARE_ERROR, SS_RDEF, "HARDWARE FAILURE" },
{ SSD_KEY_ILLEGAL_REQUEST, SS_FATAL|EINVAL, "ILLEGAL REQUEST" },
@@ -876,7 +873,7 @@
{ SST(0x03, 0x02, SS_RDEF,
"Excessive write errors") },
/* DTLPWROMAEBKVF */
- { SST(0x04, 0x00, SS_TUR | SSQ_MANY | SSQ_DECREMENT_COUNT | EIO,
+ { SST(0x04, 0x00, SS_RDEF,
"Logical unit not ready, cause not reportable") },
/* DTLPWROMAEBKVF */
{ SST(0x04, 0x01, SS_TUR | SSQ_MANY | SSQ_DECREMENT_COUNT | EBUSY,
More information about the Midnightbsd-cvs
mailing list