From: Mike Christie <michael.christie@oracle.com>
To: bvanassche@acm.org, mwilck@suse.com, hch@lst.de,
martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
james.bottomley@hansenpartnership.com
Cc: Mike Christie <michael.christie@oracle.com>
Subject: [PATCH v5 21/35] scsi: retry INQUIRY after timeout
Date: Sat, 22 Oct 2022 22:03:49 -0500 [thread overview]
Message-ID: <20221023030403.33845-22-michael.christie@oracle.com> (raw)
In-Reply-To: <20221023030403.33845-1-michael.christie@oracle.com>
Description from: Martin Wilck <mwilck@suse.com>:
The SCSI mid layer doesn't retry commands after DID_TIME_OUT (see
scsi_noretry_cmd()). Packet loss in the fabric can cause spurious timeouts
during SCSI device probing, causing device probing to fail. This has been
observed in FCoE uplink failover tests, for example.
This patch fixes the issue by retrying the INQUIRY up to 3 times (in
practice, we never observed more than a single retry),
Signed-off-by: Mike Christie <michael.christie@oracle.com>
---
drivers/scsi/scsi_scan.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index ffdb043bda5f..28d53efc192b 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -674,6 +674,10 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result,
.allowed = 3,
.result = SAM_STAT_CHECK_CONDITION,
},
+ {
+ .allowed = 1,
+ .result = DID_TIME_OUT << 16,
+ },
{},
};
--
2.25.1
next prev parent reply other threads:[~2022-10-23 3:07 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-23 3:03 [PATCH v5 00/35] Allow scsi_execute users to control retries Mike Christie
2022-10-23 3:03 ` [PATCH v5 01/35] scsi: Add helper to prep sense during error handling Mike Christie
2022-10-23 3:03 ` [PATCH v5 02/35] scsi: Allow passthrough to override what errors to retry Mike Christie
2022-10-23 3:03 ` [PATCH v5 03/35] scsi: Add struct for args to execution functions Mike Christie
2022-10-23 3:03 ` [PATCH v5 04/35] scsi: Add scsi_failure field to scsi_exec_args Mike Christie
2022-10-23 3:03 ` [PATCH v5 05/35] scsi: libata: Convert to scsi_exec_req Mike Christie
2022-10-23 3:03 ` [PATCH v5 06/35] hwmon: drivetemp: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 07/35] scsi: ch: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 08/35] scsi: scsi_dh: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 09/35] scsi: core: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 10/35] scsi: spi: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 11/35] scsi: sd: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 12/35] scsi: zbc: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 13/35] scsi: ses: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 14/35] scsi: sr: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 15/35] scsi: virtio_scsi: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 16/35] scsi: target_core_pscsi: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 17/35] scsi: ufshcd: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 18/35] scsi: cxlflash: " Mike Christie
2022-10-23 3:03 ` [PATCH v5 19/35] scsi: Remove scsi_execute functions Mike Christie
2022-10-23 3:03 ` [PATCH v5 20/35] scsi: Have scsi-ml retry scsi_probe_lun errors Mike Christie
2022-10-23 3:03 ` Mike Christie [this message]
2022-10-23 3:03 ` [PATCH v5 22/35] scsi: Have scsi-ml retry read_capacity_16 errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 23/35] scsi: Have scsi-ml retry sd_spinup_disk errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 24/35] scsi: hp_sw: Have scsi-ml retry scsi_exec_req errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 25/35] scsi: rdac: Have scsi-ml retry send_mode_select errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 26/35] scsi: spi: Have scsi-ml retry spi_execute errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 27/35] scsi: sd: Have scsi-ml retry sd_sync_cache errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 28/35] scsi: ch: Have scsi-ml retry ch_do_scsi errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 29/35] scsi: Have scsi-ml retry scsi_mode_sense errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 30/35] scsi: Have scsi-ml retry scsi_report_lun_scan errors Mike Christie
2022-10-23 3:03 ` [PATCH v5 31/35] scsi: sd: Have sd_pr_command retry UAs Mike Christie
2022-10-23 3:04 ` [PATCH v5 32/35] scsi: sd: Have scsi-ml retry read_capacity_10 errors Mike Christie
2022-10-23 3:04 ` [PATCH v5 33/35] scsi: ses: Have scsi-ml retry scsi_exec_req errors Mike Christie
2022-10-23 3:04 ` [PATCH v5 34/35] scsi: sr: Have scsi-ml retry get_sectorsize errors Mike Christie
2022-10-23 3:04 ` [PATCH v5 35/35] scsi: Add kunit tests for scsi_check_passthrough Mike Christie
2022-10-23 6:32 ` kernel test robot
2022-10-24 18:39 ` Mike Christie
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=20221023030403.33845-22-michael.christie@oracle.com \
--to=michael.christie@oracle.com \
--cc=bvanassche@acm.org \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mwilck@suse.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