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 0/4] scsi: remove devices in ALUA transitioning status
Date: Wed, 30 Sep 2020 10:02:52 +0200 [thread overview]
Message-ID: <20200930080256.90964-1-hare@suse.de> (raw)
Hi all,
during testing we found that there is an issue with dev_loss_tmo and
devices in ALUA transitioning state.
What happens is that I/O gets requeued via BLK_STS_RESOURCE for these
devices, so when dev_loss_tmo triggers the SCSI core cannot flush the
request list as I/O is simply requeued.
So when the driver is trying to re-establish the device it'll wait for
that last reference to drop in order to re-attach the device, but as I/O
is still outstanding on the (old) device it'll wait for ever.
Fix this by returning 'BLK_STS_AGAIN' from scsi_dh_alua when the device
is in ALUA transitioning, and also set the 'transitioning' state when
scsi_dh_alua is receiving a sense code, and not only after scsi_dh_alua
successfully received the response to a REPORT TARGET PORT GROUPS
command.
Hannes Reinecke (4):
block: return status code in blk_mq_end_request()
scsi_dh_alua: return BLK_STS_AGAIN for ALUA transitioning state
scsi_dh_alua: set 'transitioning' state on unit attention
scsi: return BLK_STS_AGAIN for ALUA transitioning
block/blk-mq.c | 2 +-
drivers/scsi/device_handler/scsi_dh_alua.c | 10 +++++++++-
drivers/scsi/scsi_lib.c | 8 ++++++++
3 files changed, 18 insertions(+), 2 deletions(-)
--
2.16.4
next 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 Hannes Reinecke [this message]
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 ` [PATCH 4/4] scsi: return BLK_STS_AGAIN for ALUA transitioning Hannes Reinecke
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-1-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