Author: mav
Date: Sat May 11 08:15:56 2013
New Revision: 250502
URL: http://svnweb.freebsd.org/changeset/base/250502

Log:
  MFC r249352:
  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:
  stable/8/sys/cam/scsi/scsi_all.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/cam/   (props changed)

Modified: stable/8/sys/cam/scsi/scsi_all.c
==============================================================================
--- stable/8/sys/cam/scsi/scsi_all.c    Sat May 11 08:14:33 2013        
(r250501)
+++ stable/8/sys/cam/scsi/scsi_all.c    Sat May 11 08:15:56 2013        
(r250502)
@@ -683,10 +683,7 @@ const struct sense_key_table_entry sense
 {
        { 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" },
@@ -861,7 +858,7 @@ static struct asc_table_entry asc_table[
        { 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,
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to