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. Can you add a comment to explain that and why it can't happen for the normal I/O patterns?