From: Mike Christie <michael.christie@oracle.com>
To: Martin Wilck <mwilck@suse.com>,
bvanassche@acm.org, hch@lst.de, martin.petersen@oracle.com,
linux-scsi@vger.kernel.org,
james.bottomley@hansenpartnership.com
Cc: Hannes Reinecke <Hannes.Reinecke@suse.com>
Subject: Re: [PATCH 3/4] scsi: Internally retry scsi_execute commands
Date: Thu, 11 Aug 2022 11:15:20 -0500 [thread overview]
Message-ID: <e7318011-ee9f-05ec-eb87-1d95f4fe12e5@oracle.com> (raw)
In-Reply-To: <e4dd855269b2efb2e2f3efdde92f1f3339159878.camel@suse.com>
On 8/11/22 4:56 AM, Martin Wilck wrote:
>> It could change how 0x04/0x0a is handled because it uses NEEDS_RETRY.
>> However, scsi_dh_alua uses REQ_FAILFAST_DEV so we do not retry in
>> scsi_noretry_cmd like before.
>
> Not quite following you here - alua_check_sense() is called for any
> command, not just those submitted from the ALUA code.
Ah, I thought you had mentioned alua above because of your alua_rtpg
example. Above I was saying that there was no behavior change for your
alua_rtpg example because it uses REQ_FAILFAST_DEV.
>> 2. Instead of trying to make it general for all scsi_execute_users,
>> we can
>> add SCMD bits for specific cases like DID_TIME_OUT or a SCMD bit that
>> tells
>> scsi_noretry_cmd to not always fail passthrough commands just because
>> they
>> are passthrough. It would work the opposite of the FASTFAIL bits
>> where instead
>> of failing fast, we retry.
>>
>> I think because the cases scsi_noretry_cmd is used for are really
>> specific cases
>> (scsi_decide_disposition sees NEEDS_RETRY, retries < allowed, and
>> REQ_FAILFAST_DEV
>> is not set) that might not be very useful.
>
> I don't think it's _that_ speficic. (retries < allowed) is the default
> case, at least for the first failure. REQ_FAILFAST_DEV has very few
> users except for the device handlers, and NEEDS_RETRY is a rather
> frequently used disposition.
I'm saying it's really specific because we only hit this code
path that is causing issues when scsi_check_sense returns NEEDS_RETRY.
There's 5 in there and one in scsi_dh_alua. 4 of them are UAs.
Compared to all the sense errors that we check for in the
scsi_execute callers and including all the times they do a retry for
all errors the 5 cases in scsi_check_sense seemed really specific.
Let me send a patch for this type of design because in the other mail
Christoph was asking for more details. I originally started going that
route so it won't be too much trouble to do a RFC so we can get an
idea of what it will look like.
next prev parent reply other threads:[~2022-08-11 16:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-10 3:41 [PATCH 0/4] scsi: passthrough fixes/improvements Mike Christie
2022-08-10 3:41 ` [PATCH 1/4] scsi: Fix passthrough retry counter handling Mike Christie
2022-08-11 12:16 ` Christoph Hellwig
2022-08-10 3:41 ` [PATCH 2/4] scsi: Add new SUBMITTED types for passthrough Mike Christie
2022-08-11 12:21 ` Christoph Hellwig
2022-08-10 3:41 ` [PATCH 3/4] scsi: Internally retry scsi_execute commands Mike Christie
2022-08-10 10:46 ` Martin Wilck
2022-08-10 17:06 ` Mike Christie
2022-08-10 17:38 ` Mike Christie
2022-08-11 12:28 ` Christoph Hellwig
2022-08-11 16:19 ` Mike Christie
2022-08-11 9:56 ` Martin Wilck
2022-08-11 16:15 ` Mike Christie [this message]
2022-08-11 17:02 ` Martin Wilck
2022-08-11 18:22 ` Mike Christie
2022-08-11 12:27 ` Christoph Hellwig
2022-08-10 3:41 ` [PATCH 4/4] scsi: Handle UAs for pr_ops 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=e7318011-ee9f-05ec-eb87-1d95f4fe12e5@oracle.com \
--to=michael.christie@oracle.com \
--cc=Hannes.Reinecke@suse.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