svn commit: r249352 - head/sys/cam/scsi
Alfred Perlstein
bright at mu.org
Thu Apr 11 09:42:52 UTC 2013
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,
>
More information about the svn-src-all
mailing list