Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Apr 2013 06:34:41 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r249352 - head/sys/cam/scsi
Message-ID:  <201304110634.r3B6Yf5t049831@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Apr 11 06:34:41 2013
New Revision: 249352
URL: http://svnweb.freebsd.org/changeset/base/249352

Log:
  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.
  
  Reviewed by:	ken, gibbs
  MFC after:	1 month

Modified:
  head/sys/cam/scsi/scsi_all.c

Modified: head/sys/cam/scsi/scsi_all.c
==============================================================================
--- head/sys/cam/scsi/scsi_all.c	Thu Apr 11 04:29:45 2013	(r249351)
+++ head/sys/cam/scsi/scsi_all.c	Thu Apr 11 06:34:41 2013	(r249352)
@@ -699,10 +699,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" },
@@ -877,7 +874,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,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304110634.r3B6Yf5t049831>