From: Haris Iqbal <haris.iqbal@linux.dev>
To: Keith Busch <kbusch@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>
Subject: Re: [RFC for-next 0/3] block: delay support for error injection
Date: Fri, 28 Aug 2026 00:40:33 +0200 [thread overview]
Message-ID: <59ef2bb2-e24f-4d0f-95cc-3bca54dde48c@linux.dev> (raw)
In-Reply-To: <ao-z23T9yE6Z2BTZ@kbusch-mbp>
On 8/27/26 05:49, Keith Busch wrote:
> On Thu, Aug 27, 2026 at 02:01:12AM +0200, Md Haris Iqbal wrote:
>> Two things are worth a look. A delayed bio is resubmitted below the
>> injection hook, so the rules are not applied to it again and it can never
>> pick up a status from another rule. And holding a bio back reorders it
>> against bios submitted later, which breaks sequential write ordering on
>> zoned devices. Both are documented in patch 3.
>
> Would it be possible to do the delay on the completion side instead?
> That should avoid those submission order problems.
Seems not. At bio_endio, bi_size is 0 hence the comparison rule cannot
be calculated. What can be done is to capture the decision to delay or
not at submit, and then execute it at completion, but something (the
same kmalloc_obj?) needs to carry this all the way.
Besides, the bio would have been written to the device already, meaning
if the rule said to delay and then fail, the upper layer will see the
failure, but the data would have landed in the disk. Maybe not the worst
idea, but still semantically incorrect since the documentation claims
that nothing is seen by the device.
One way would be to omit delay injection for all bios meant for zoned
block devices.
prev parent reply other threads:[~2026-08-27 22:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 0:01 [RFC for-next 0/3] block: delay support for error injection Md Haris Iqbal
2026-08-27 0:01 ` [RFC for-next 1/3] block: reject unknown status tags in error injection rules Md Haris Iqbal
2026-08-27 0:01 ` [RFC for-next 2/3] block: allow error injection rules to delay bios Md Haris Iqbal
2026-08-27 13:02 ` Haris Iqbal
2026-08-27 22:44 ` Haris Iqbal
2026-08-27 0:01 ` [RFC for-next 3/3] Documentation: block: document error injection delays Md Haris Iqbal
2026-08-27 3:49 ` [RFC for-next 0/3] block: delay support for error injection Keith Busch
2026-08-27 22:40 ` Haris Iqbal [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=59ef2bb2-e24f-4d0f-95cc-3bca54dde48c@linux.dev \
--to=haris.iqbal@linux.dev \
--cc=axboe@kernel.dk \
--cc=corbet@lwn.net \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).