[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <835fe512-4cff-4130-8b67-d30b91d95099@youngman.org.uk>
Date: Tue, 26 Aug 2025 18:35:10 +0100
From: anthony <antmbox@...ngman.org.uk>
To: Yu Kuai <yukuai1@...weicloud.com>, Christoph Hellwig <hch@...radead.org>
Cc: colyli@...nel.org, hare@...e.de, tieren@...as.com, axboe@...nel.dk,
tj@...nel.org, josef@...icpanda.com, song@...nel.org,
akpm@...ux-foundation.org, neil@...wn.name, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, cgroups@...r.kernel.org,
linux-raid@...r.kernel.org, yi.zhang@...wei.com, yangerkun@...wei.com,
johnny.chenyi@...wei.com, John Garry <john.g.garry@...cle.com>,
"yukuai (C)" <yukuai3@...wei.com>
Subject: Re: [PATCH RFC 4/7] md/raid10: convert read/write to use
bio_submit_split()
On 26/08/2025 10:14, Yu Kuai wrote:
>> Umm, that's actually a red flag. If a device guarantees atomic behavior
>> it can't just fail it. So I think REQ_ATOMIC should be disallowed
>> for md raid with bad block tracking.
>>
>
> I agree that do not look good, however, John explained while adding this
> that user should retry and fallback without REQ_ATOMIC to make things
> work as usual.
Whether a device promises atomic write is orthogonal to whether that
write succeeds - it could fail for a whole host of reasons, so why can't
"this is too big to be atomic" just be another reason for failing?
Yes you want to know *why* the write failed, if you can't pass that
back, then you have a problem, but if you can pass back the error "too
big for atomic write" then the caller can sort it out.
That then allows the driver - if it knows the block size of the device -
to manage atomic writes (in the sense that it can refuse writes that are
too large), even if the device doesn't claim to support it. It can just
force the caller to submit small enough blocks.
Cheers,
Wol
Powered by blists - more mailing lists