RE: [PATCH] megaraid_sas: boot hangs while LD is offline

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

 



> -----Original Message-----
> From: Hannes Reinecke [mailto:hare@xxxxxxx]
> Sent: Friday, January 15, 2016 7:13 PM
> To: Sumit Saxena
> Cc: Kashyap Desai; megaraidlinux.pdl@xxxxxxxxxxxxx; Martin K. Petersen;
> James Bottomley; linux-scsi@xxxxxxxxxxxxxxx; Hannes Reinecke; Hannes
> Reinecke
> Subject: [PATCH] megaraid_sas: boot hangs while LD is offline
>
> Offline Logical drives (LDs) should not allowed to be visible to the OS,
as the
> OS will hang trying to send commands to it.
> This patch skips offline LDs like it already does for non-system
physical
> drives (PDs).
>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
>  drivers/scsi/megaraid/megaraid_sas_base.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
> b/drivers/scsi/megaraid/megaraid_sas_base.c
> index 97a1c1c..f32831b 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_base.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
> @@ -1760,7 +1760,7 @@ static void megasas_set_dma_alignment(struct
> scsi_device *sdev)
>
>  static int megasas_slave_configure(struct scsi_device *sdev)  {
> -	u16 pd_index = 0;
> +	u16 pd_index = 0, ld_index;
>  	struct megasas_instance *instance;
>
>  	instance = megasas_lookup_instance(sdev->host->host_no);
> @@ -1772,6 +1772,11 @@ static int megasas_slave_configure(struct
> scsi_device *sdev)
>  			if (instance->pd_list[pd_index].driveState !=
>  				MR_PD_STATE_SYSTEM)
>  				return -ENXIO;
> +		} else {
> +			ld_index = ((sdev->channel -
> MEGASAS_MAX_PD_CHANNELS) *
> +				    MEGASAS_MAX_DEV_PER_CHANNEL) +
> sdev->id;
> +			if (instance->ld_ids[ld_index] == 0xff)
> +				return -ENXIO;

Hannes - We attempted this code change for one of the issue in past. This
code drop was just a quick workaround to unblock that customer issue.
Avago provided FW fix for this issue as new FW (again fix was done 2 years
before, so many latest FW will have this fix) return below sense key for
TUR.
SenseKey=0x2, asc=0x4, ascq=0x3(LOGICAL UNIT NOT READY, MANUAL
INTERVENTION REQUIRED)

Have you seen any issue w.r.t VD Offline or trying to optimize code in
megaraid driver ?

>  		}
>  	}
>  	megasas_set_dma_alignment(sdev);
> --
> 1.8.5.6
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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