[dm-devel] RE: [PATCH]scsi_dh_rdac: Retry for NOT_READY check condition (0x02A102, 0x020401, 0x020404 and 0x020407) in rdac_check_sense

Chauhan, Vijay Vijay.Chauhan at lsi.com
Tue Mar 17 13:21:40 UTC 2009


Hi James,

Thanks for your comment. I have updated the patch with your comments.
 
On Tues, 2009-03-10 21:17 +0530, James Bottomley wrote: 
> > +		if (sense_hdr->asc == 0xA1  && sense_hdr->ascq == 0x02)
> > +			/* LUN Not Ready - Quiescense in progress
> > +			 * or has been achieved
> > +			 * Just retry.
> > +			 */
> > +			return ADD_TO_MLQUEUE;
> 
> This is fine, being vendor specific, we don't handle it at 
> the mid-layer

> > +		if (sense_hdr->asc == 0x04  && sense_hdr->ascq == 0x07)
> > +			/* LUN Not Ready - Storage controller 
> cannot respond
> > +			 * immediately to a PRIN or PROUT command.
> > +			 * Just retry.
> > +			 */
> > +			return ADD_TO_MLQUEUE;
> 
> For all of these ... along with a few other not ready types, 
> we already
> do a delayed retry at the mid-layer (in scsi_io_completion).  Is there
> some problem that causes this to need to be handled here as well?
> 
Yes, I do agree. Submitting patch for 0x02A102 only.

Thanks,
Vijay

---
This patch adds retry for NOT_READY check condition - Quiescense in progress (02/A1/02)

Signed-off-by: Vijay Chauhan<vijay.chauhan at lsi.com>

---
--- linux-2.6.29-rc7/drivers/scsi/device_handler/scsi_dh_rdac.c.orig	2009-03-10 17:42:27.000000000 +0530
+++ linux-2.6.29-rc7/drivers/scsi/device_handler/scsi_dh_rdac.c	2009-03-17 18:18:07.000000000 +0530
@@ -562,6 +562,12 @@ static int rdac_check_sense(struct scsi_
 			 * Just retry and wait.
 			 */
 			return ADD_TO_MLQUEUE;
+		if (sense_hdr->asc == 0xA1  && sense_hdr->ascq == 0x02)
+			/* LUN Not Ready - Quiescense in progress
+			 * or has been achieved
+			 * Just retry.
+			 */
+			return ADD_TO_MLQUEUE;
 		break;
 	case ILLEGAL_REQUEST:
 		if (sense_hdr->asc == 0x94 && sense_hdr->ascq == 0x01) {
--




More information about the dm-devel mailing list