[dm-devel] [Patch] scsi_dh_rdac: retry IO for 06/3f/03 in rdac_check_sense fn

Chauhan, Vijay Vijay.Chauhan at lsi.com
Wed Sep 29 16:39:08 UTC 2010


Hi James,

For 06/3f/03 scsi sense, SUCCESS status is returned by scsi_check_sense. scsi_io_completion fn should have retried this check condition but some how it is not happening. IMO, command should be either retried by scsi or scsi dh rather than failing it (for this check condition). Can you please comment on this patch.  

Thanks,
Vijay

-----Original Message-----
From: Chandra Seetharaman [mailto:sekharan at us.ibm.com] 
Sent: Tuesday, August 10, 2010 7:18 AM
To: Chauhan, Vijay; James Bottomley
Cc: device-mapper development; linux-scsi at vger.kernel.org
Subject: Re: [Patch] scsi_dh_rdac: retry IO for 06/3f/03 in 
rdac_check_sense fn

Vijay,

Since it has to be handled at SCSI (and it is a SCSI sense), shouldn't
we be retrying it at SCSI level. James, what is your opinion ?

It looks good to me as the effect is local to LSI rdac storage.

chandra

On Mon, 2010-08-02 at 13:07 +0530, Chauhan, Vijay wrote:
> Hi,
> 
> This patch adds retry for the IO returned with 
06/3f/03((INQUIRY_DATA_CHANGED)) sense code  in 
rdac_check_sense(). IO returned with 06/3f/03 from controller 
are currently failed by scsi mid layer, as a reason momentarily 
path failure is noticed by DM multipath. 
> 
> Signed-off-by: Vijay Chauhan<vijay.chauhan at lsi.com>
> Reviewed-by: Babu Moger <babu.moger at lsi.com>
> Reviewed-by: Bob Stankey <Robert.stankey at lsi.com>
> ---
> 
> diff -uprN 
linux-2.6.35-rc6-orig/drivers/scsi/device_handler/scsi_dh_rdac.c
 linux-2.6.35-rc6/drivers/scsi/device_handler/scsi_dh_rdac.c
> --- 
linux-2.6.35-rc6-orig/drivers/scsi/device_handler/scsi_dh
_rdac.c	2010-07-22 15:13:38.000000000 -0400
> +++ 
linux-2.6.35-rc6/drivers/scsi/device_handler/scsi_dh_rdac.c	
2010-07-27 12:13:58.000000000 -0400
> @@ -738,6 +738,11 @@ static int rdac_check_sense(struct scsi_
>  			 * Quiescence in progress , just retry.
>  			 */
>  			return ADD_TO_MLQUEUE;
> +		if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x03)
> +			/*
> +			 * INQUIRY DATA has changed, retry again.
> +			 */
> +			return ADD_TO_MLQUEUE;
>  		break;
>  	}
>  	/* success just means we do not care what scsi-ml does */
> 
> --






More information about the dm-devel mailing list