lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 18 Jun 2015 10:36:20 +0200
From:	Johannes Thumshirn <jthumshirn@...e.de>
To:	Sreekanth Reddy <sreekanth.reddy@...gotech.com>
Cc:	jejb@...nel.org, hch@...radead.org, martin.petersen@...cle.com,
	linux-scsi@...r.kernel.org, JBottomley@...allels.com,
	Sathya.Prakash@...gotech.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 14/20 v1] [SCSI] mpt3sas: Complete the SCSI command with
 DID_RESET status for log_info value 0x0x32010081

On Tue, Jun 16, 2015 at 11:05:24AM +0530, Sreekanth Reddy wrote:
> For any SCSI command, if the driver receives
> IOC status = SCSI_IOC_TERMINATED and log info = 0x32010081 then
> that command will be completed with DID_RESET host status.
> 
> The definition of this log info value is
> "Virtual IO has failed and has to be retried".
> 
> Firmware will provide this log info value with IOC Status
> "SCSI_IOC_TERMINATED", whenever a drive (with is a part of a volume)
> is pulled and pushed back within some minimal delay.
> With this log info value, firmware informs the driver to retry the
> failed IO command infinite times, so to provide some time for the
> firmware to discover the reinserted drive successfully instated of
> just retrying failed command for five times(doesn't giving enough
> time for firmware to complete the drive discovery) and failing the
> IO permanently even though drive came back successfully.
> 
> Changes in v1:
>    Defined macro VIRTUAL_IO_FAILED_RETRY for magic a value 0x32010081
> 
> Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@...gotech.com>
> ---
>  drivers/scsi/mpt3sas/mpt3sas_base.h  | 2 ++
>  drivers/scsi/mpt3sas/mpt3sas_scsih.c | 3 +++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
> index 0ffe763..f3f79be 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_base.h
> +++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
> @@ -203,6 +203,8 @@
>  #define MFG10_GF0_SSD_DATA_SCRUB_DISABLE       (0x00000008)
>  #define MFG10_GF0_SINGLE_DRIVE_R0              (0x00000010)
>  
> +#define VIRTUAL_IO_FAILED_RETRY			(0x32010081)
> +
>  /* OEM Specific Flags will come from OEM specific header files */
>  struct Mpi2ManufacturingPage10_t {
>  	MPI2_CONFIG_PAGE_HEADER	Header;		/* 00h */
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> index 7060c8b..7587f77 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> @@ -4302,6 +4302,9 @@ _scsih_io_done(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index, u32 reply)
>  				scmd->device->expecting_cc_ua = 1;
>  			}
>  			break;
> +		} else if (log_info == VIRTUAL_IO_FAILED_RETRY) {
> +			scmd->result = DID_RESET << 16;
> +			break;
>  		}
>  		scmd->result = DID_SOFT_ERROR << 16;
>  		break;
> -- 
> 2.0.2
>

Reviewed-by: Johannes Thumshirn <jthumshirn@...e.de>

-- 
Johannes Thumshirn                                       Storage
jthumshirn@...e.de                             +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ