From: Igor Pylypiv <ipylypiv@google.com>
To: Damien Le Moal <dlemoal@kernel.org>
Cc: linux-ide@vger.kernel.org, Niklas Cassel <cassel@kernel.org>,
linux-scsi@vger.kernel.org,
"Martin K . Petersen" <martin.petersen@oracle.com>,
John Garry <john.g.garry@oracle.com>,
Jason Yan <yanaijie@huawei.com>
Subject: Re: [PATCH v5 0/2] fixup handling of timeouts with deferred QCs
Date: Fri, 17 Jul 2026 10:32:30 -0700 [thread overview]
Message-ID: <alpnLgBhz0pb9wDv@google.com> (raw)
In-Reply-To: <20260716083847.926102-1-dlemoal@kernel.org>
On Thu, Jul 16, 2026 at 05:38:45PM +0900, Damien Le Moal wrote:
> This patch series fixes libata and libsas to correctly handles deferred
> queued commands in case of a timeout error, to avoid excessive delays in
> waking up the scsi EH task.
>
> Igor,
>
> My apologies for the churn, but please retest !
> Also, I added your Signed-off-by on patch 2 since half of it is yours.
Thank you, Damien! Test resuls look good.
I saw you are planning to send v6, I'll wait for it and will retest again.
Tested-by: Igor Pylypiv <ipylypiv@google.com>
>
> Martin,
>
> Once reviewed, I or you can take both patches ?
>
> Changes from v4:
> - Simplified sas_eh_timed_out() code in patch 2
>
> Changes from v3:
> - Reimplement ata_scsi_requeue_deferred_qc() in patch 1 as
> ata_eh_retry_deferred_qc() so that all requeue pathes use the same
> function.
>
> Changes from v2:
> - Modified patch 1 to avoid the problem reported by Sashiko that requeued
> deferred QCs may be re-ssued immediately by the block layer, thus
> potentially keeping the device busy. The modification now relies on
> libata-EH to perform the requeue instead of immediately doing it from
> the eh_timed_out operation.
> - Modified patch 2 to use the new helper function defined in patch 1.
>
> Changes from v1:
> - Modified patch 1 to ignore timed out deferred QCs in
> ata_scsi_requeue_deferred_qc() to let ata_scsi_cmd_error_handler()
> correctly handle this case.
>
> Damien Le Moal (2):
> ata: libata-scsi: terminate deferred commands on time out
> scsi: libsas: terminate deferred commands on time out
>
> drivers/ata/libata-eh.c | 38 ++++++++++++++++----
> drivers/ata/libata-scsi.c | 56 +++++++++++++++++------------
> drivers/ata/libata.h | 2 +-
> drivers/scsi/libsas/sas_scsi_host.c | 15 ++++++++
> include/linux/libata.h | 3 ++
> include/scsi/libsas.h | 2 ++
> 6 files changed, 86 insertions(+), 30 deletions(-)
>
> --
> 2.55.0
>
prev parent reply other threads:[~2026-07-17 17:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-16 8:38 [PATCH v5 0/2] fixup handling of timeouts with deferred QCs Damien Le Moal
2026-07-16 8:38 ` [PATCH v5 1/2] ata: libata-scsi: terminate deferred commands on time out Damien Le Moal
2026-07-16 13:46 ` Hannes Reinecke
2026-07-16 8:38 ` [PATCH v5 2/2] scsi: libsas: " Damien Le Moal
2026-07-16 10:57 ` John Garry
2026-07-16 13:47 ` Hannes Reinecke
2026-07-17 17:32 ` Igor Pylypiv [this message]
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=alpnLgBhz0pb9wDv@google.com \
--to=ipylypiv@google.com \
--cc=cassel@kernel.org \
--cc=dlemoal@kernel.org \
--cc=john.g.garry@oracle.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=yanaijie@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.