On Mon, Aug 11, 2025 at 09:27:18AM -0600, Keith Busch wrote: > I initially tried to copy the nsegs usage in the request, but there are > multiple places (iomap, xfs, and btrfs) that split to hardware limits > without a request, so I'm not sure where the result is supposed to go to > be referenced later. Or do those all call the same split function later > in the generic block layer, in which case it shouldn't matter if the > upper layers already called it? Yes, we'll always end up calling into __bio_split_to_limits in blk-mq, no matter if someone split before. The upper layer splits are only for zone append users that can't later be split, but __bio_split_to_limits is stilled called on them to count the segments and to assert that they don't need splitting.