From owner-svn-src-all@FreeBSD.ORG Thu Apr 11 09:42:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 375AC608; Thu, 11 Apr 2013 09:42:52 +0000 (UTC) (envelope-from bright@mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id EEB04E68; Thu, 11 Apr 2013 09:42:51 +0000 (UTC) Received: from Alfreds-MacBook-Pro-9.local (c-67-180-208-218.hsd1.ca.comcast.net [67.180.208.218]) by elvis.mu.org (Postfix) with ESMTPSA id 3D45D1A3CE1; Thu, 11 Apr 2013 02:42:45 -0700 (PDT) Message-ID: <51668589.2040509@mu.org> Date: Thu, 11 Apr 2013 02:42:33 -0700 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: Alexander Motin Subject: Re: svn commit: r249352 - head/sys/cam/scsi References: <201304110634.r3B6Yf5t049831@svn.freebsd.org> In-Reply-To: <201304110634.r3B6Yf5t049831@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Apr 2013 09:42:52 -0000 woohoo! -Alfred On 4/10/13 11:34 PM, Alexander Motin wrote: > 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, >