Re: [PATCH RFC 4/4] md/raid0: Atomic write support

From: John Garry
Date: Thu Sep 12 2024 - 10:49:55 EST


On 12/09/2024 14:18, Christoph Hellwig wrote:
On Tue, Sep 03, 2024 at 03:07:48PM +0000, John Garry wrote:
if (sectors < bio_sectors(bio)) {
- struct bio *split = bio_split(bio, sectors, GFP_NOIO,
+ struct bio *split;
+
+ if (bio->bi_opf & REQ_ATOMIC)
+ return false;
I guess this is the erroring out when attempting to split the request.

I actually now think that I should change bio_split() to return NULL for splitting a REQ_ATOMIC, like what do for ZONE_APPEND - calling bio_split() like this is a common pattern in md RAID personalities. However, none of the md RAID code check for a NULL split, which they really should, so I can make that change also.

Can you add a comment to explain that and why it can't happen for the
normal I/O patterns?

ok, will do.

Cheers,
John