[dm-devel] Re: [PATCH]scsi_dh_rdac: Retry for NOT_READY check condition (0x02A102, 0x020401, 0x020404 and 0x020407) in rdac_check_sense
James Bottomley
James.Bottomley at HansenPartnership.com
Tue Mar 10 15:46:31 UTC 2009
On Tue, 2009-03-10 at 18:30 +0530, Chauhan, Vijay wrote:
> This patch adds retry for NOT_READY check conditions(02/A1/02, 02/04/01, 02/04/04,
> 02/04/07) in rdac_check_sense.
>
> 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-10 18:05:35.000000000 +0530
> @@ -562,6 +562,30 @@ 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;
This is fine, being vendor specific, we don't handle it at the mid-layer
> + if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x01)
> + /* LUN Not Ready - Logical Unit Not Ready and is in
> + * the process of becoming ready
> + * Just retry.
> + */
> + return ADD_TO_MLQUEUE;
> + if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x04)
> + /* LUN Not Ready - Format In Progress
> + *
> + * Just retry.
> + */
> + return ADD_TO_MLQUEUE;
> + 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?
James
More information about the dm-devel
mailing list