Re: [PATCH] I/O errors for ALUA state transitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/7/21 2:16 AM, Hannes Reinecke wrote:
> From: Rajashekhar M A <rajs@xxxxxxxxxx>
> 
> When a host is configured with a few LUNs and IO is running,
> injecting FC faults repeatedly leads to path recovery problems.
> The LUNs have 4 paths each and 3 of them come back active after
> say an FC fault which makes two of the paths go down, instead of
> all 4. This happens after several iterations of continuous FC faults.
> 
> Reason here is that we're returning an I/O error whenever we're
> encountering sense code 06/04/0a (LOGICAL UNIT NOT ACCESSIBLE,
> ASYMMETRIC ACCESS STATE TRANSITION) instead of retrying.
> > Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
> ---
>  drivers/scsi/scsi_error.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
> index 03a2ff547b22..1185083105ae 100644
> --- a/drivers/scsi/scsi_error.c
> +++ b/drivers/scsi/scsi_error.c
> @@ -594,10 +594,11 @@ enum scsi_disposition scsi_check_sense(struct scsi_cmnd *scmd)
>  		    sshdr.asc == 0x3f && sshdr.ascq == 0x0e)
>  			return NEEDS_RETRY;
>  		/*
> -		 * if the device is in the process of becoming ready, we
> -		 * should retry.
> +		 * if the device is in the process of becoming ready, or
> +		 * transitions between ALUA states, we should retry.
>  		 */
> -		if ((sshdr.asc == 0x04) && (sshdr.ascq == 0x01))
> +		if ((sshdr.asc == 0x04) &&
> +		    (sshdr.ascq == 0x01 || sshdr.ascq == 0x0a))
>  			return NEEDS_RETRY;

Why put this here instead of in alua_check_sense with the other ALUA
state transition check?




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux