From: Sreekanth Reddy <sreekanth.reddy@avagotech.com>
To: jejb@kernel.org, hch@infradead.org
Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
JBottomley@Parallels.com, Sathya.Prakash@avagotech.com,
Nagalakshmi.Nandigama@avagotech.com,
linux-kernel@vger.kernel.org,
Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Subject: [PATCH 03/22] [PATCH] mpt2sas, mpt3sas: Fail the host reset initiated due to discovery related I/O timeouts at driver load time
Date: Thu, 20 Nov 2014 12:35:36 +0530 [thread overview]
Message-ID: <1416467155-16869-4-git-send-email-Sreekanth.Reddy@avagotech.com> (raw)
In-Reply-To: <1416467155-16869-1-git-send-email-Sreekanth.Reddy@avagotech.com>
When a flaky disk is there in a topology then during driver load,
discovery related I/O times out; which results in SCSI error recovery
initiating host reset and then the controller won't see any disk.
In this patch, The driver would return FAILED status to the host reset
initiated due to discovery related I/O timeout if ioc->is_driver_loading
is set. This flag would be set until we exit out of scsih_scan_finished().
i.e.
During device discovery if one of the disk is flaky
(which responds to some discovery commands and doesn't respond to some)
the driver wouldn't perform host reset for discovery related I/O timeout.
Instead it would return Failure for the host reset resulting in the
flaky disk getting removed by the SCSI Mid layer,
so other disks would be added correctly.
Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
---
drivers/scsi/mpt2sas/mpt2sas_scsih.c | 9 +++++++++
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index bca0cc9..38acb91 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -2760,9 +2760,18 @@ _scsih_host_reset(struct scsi_cmnd *scmd)
ioc->name, scmd);
scsi_print_command(scmd);
+ if (ioc->is_driver_loading) {
+ printk(MPT2SAS_INFO_FMT "Blocking the host reset\n",
+ ioc->name);
+ r = FAILED;
+ goto out;
+ }
+
retval = mpt2sas_base_hard_reset_handler(ioc, CAN_SLEEP,
FORCE_BIG_HAMMER);
r = (retval < 0) ? FAILED : SUCCESS;
+
+ out:
printk(MPT2SAS_INFO_FMT "host reset: %s scmd(%p)\n",
ioc->name, ((r == SUCCESS) ? "SUCCESS" : "FAILED"), scmd);
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index 4d341a9..8c942c6 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -2415,9 +2415,17 @@ _scsih_host_reset(struct scsi_cmnd *scmd)
ioc->name, scmd);
scsi_print_command(scmd);
+ if (ioc->is_driver_loading) {
+ pr_info(MPT3SAS_FMT "Blocking the host reset\n",
+ ioc->name);
+ r = FAILED;
+ goto out;
+ }
+
retval = mpt3sas_base_hard_reset_handler(ioc, CAN_SLEEP,
FORCE_BIG_HAMMER);
r = (retval < 0) ? FAILED : SUCCESS;
+out:
pr_info(MPT3SAS_FMT "host reset: %s scmd(%p)\n",
ioc->name, ((r == SUCCESS) ? "SUCCESS" : "FAILED"), scmd);
--
2.0.2
next prev parent reply other threads:[~2014-11-20 7:11 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 7:05 [PATCH 00/22] mpt2sas, mpt3sas: SAS2 Phase 19,20 and SAS3 Phase 4,5 patches Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 01/22] [SCSI] mpt2sas: MPI2 Rev AA (2.00.19) specifications Sreekanth Reddy
2014-12-04 2:49 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 02/22] [SCSI] mpt2sas, mpt3sas: Added support to log message when Temperature Threshold exceeds for any Sensor Sreekanth Reddy
2014-12-04 2:55 ` Martin K. Petersen
2014-11-20 7:05 ` Sreekanth Reddy [this message]
2014-12-04 2:57 ` [PATCH 03/22] [PATCH] mpt2sas, mpt3sas: Fail the host reset initiated due to discovery related I/O timeouts at driver load time Martin K. Petersen
2014-11-20 7:05 ` [PATCH 04/22] [SCSI] mpt2sas: Bump driver version to 19.100.00.00 Sreekanth Reddy
2014-12-04 2:58 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 05/22] [SCSI] mpt2sas: MPI2 Rev BB (2.00.20) specification and 2.00.35 header files Sreekanth Reddy
2014-12-04 2:58 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 06/22] [SCSI] mpt2sas, mpt3sas: Removing uppper boundary restriction for the module parameter max_sgl_entries Sreekanth Reddy
2014-12-04 3:05 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 07/22] [SCSI] mpt2sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 Sreekanth Reddy
2014-12-04 3:06 ` Martin K. Petersen
2014-12-09 12:08 ` Sreekanth Reddy
2014-12-10 20:40 ` Martin K. Petersen
2014-12-11 12:18 ` Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 08/22] [SCSI] mpt2sas, mpt3sas: Update Attribution Language to Avago Sreekanth Reddy
2014-12-04 3:07 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 09/22] [SCSI] mpt2sas, mpt3sas: Added a support to set cpu affinity for each MSIX vector enabled by the HBA Sreekanth Reddy
2014-12-04 3:16 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 10/22] [SCSI] mpt2sas: Bump driver version to 20.100.00.00 Sreekanth Reddy
2014-12-04 3:16 ` Martin K. Petersen
2014-11-20 7:05 ` [PATCH 11/22] [SCSI] mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 12/22] mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 13/22] [SCSI] mpt3sas: Added module parameter 'unblock_io' to unblock IO's during disk addition Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 14/22] [SCSI] mpt2sas, mpt3sas: Remove redundancy code while freeing the controller resources Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 15/22] [SCSI] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 16/22] [SCSI] mpt3sas: Provides the physical location of sas drives Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 17/22] [SCSI] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 18/22] [SCSI] mpt3sas: Update MPI2 strings to MPI2.5 Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 19/22] [SCSI] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 20/22] [SCSI] mpt3sas: Add branding string support for OEM's HBA Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 21/22] mpt3sas: Add branding string support for OEM custom HBA Sreekanth Reddy
2014-11-20 7:05 ` [PATCH 22/22] [SCSI] mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Sreekanth Reddy
[not found] ` <CAK=zhgqOuU68rxiWjGWDd+-O-D4WstvqTJ-MZc1rDGCe97VhZA@mail.gmail.com>
2014-12-03 15:21 ` [PATCH 00/22] mpt2sas, mpt3sas: SAS2 Phase 19,20 and SAS3 Phase 4,5 patches Martin K. Petersen
2014-12-03 15:24 ` Sreekanth Reddy
2014-12-30 13:03 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1416467155-16869-4-git-send-email-Sreekanth.Reddy@avagotech.com \
--to=sreekanth.reddy@avagotech.com \
--cc=JBottomley@Parallels.com \
--cc=Nagalakshmi.Nandigama@avagotech.com \
--cc=Sathya.Prakash@avagotech.com \
--cc=hch@infradead.org \
--cc=jejb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®