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