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

John Garry
2024-09-12T14:48:59Z

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