From: Hannes Reinecke <hare@suse.de>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
James Bottomley <james.bottomley@hansenpartnership.com>,
linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>
Subject: [PATCH 4/4] scsi: return BLK_STS_AGAIN for ALUA transitioning
Date: Wed, 30 Sep 2020 10:02:56 +0200 [thread overview]
Message-ID: <20200930080256.90964-5-hare@suse.de> (raw)
In-Reply-To: <20200930080256.90964-1-hare@suse.de>
Whenever we encounter a sense code of ALUA transitioning in
scsi_io_completion() it means that the SCSI midlayer ran out
of retries trying to wait for ALUA transitioning.
In these cases we should be passing up the error, but signalling
that the I/O might be retried, preferably on another path.
So return BLK_STS_AGAIN in these cases.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
drivers/scsi/scsi_lib.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index b628aa0d824c..e6221d65fa8e 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -764,6 +764,9 @@ static void scsi_io_completion_action(struct scsi_cmnd *cmd, int result)
case 0x24: /* depopulation in progress */
action = ACTION_DELAYED_RETRY;
break;
+ case 0x0a: /* ALUA state transistion */
+ blk_stat = BLK_STS_AGAIN;
+ /* fall through */
default:
action = ACTION_FAIL;
break;
--
2.16.4
next prev parent reply other threads:[~2020-09-30 8:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-30 8:02 [PATCH 0/4] scsi: remove devices in ALUA transitioning status Hannes Reinecke
2020-09-30 8:02 ` [PATCH 1/4] block: return status code in blk_mq_end_request() Hannes Reinecke
2020-09-30 8:02 ` [PATCH 2/4] scsi_dh_alua: return BLK_STS_AGAIN for ALUA transitioning state Hannes Reinecke
2020-10-01 2:44 ` Bart Van Assche
2020-10-01 9:58 ` Hannes Reinecke
2020-09-30 8:02 ` [PATCH 3/4] scsi_dh_alua: set 'transitioning' state on unit attention Hannes Reinecke
2020-09-30 8:02 ` Hannes Reinecke [this message]
2020-10-27 0:21 ` [PATCH 0/4] scsi: remove devices in ALUA transitioning status Martin K. Petersen
2020-11-07 0:02 ` Ewan D. Milne
2020-11-11 3:58 ` Martin K. Petersen
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=20200930080256.90964-5-hare@suse.de \
--to=hare@suse.de \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--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