On 8/27/24 02:37, Christoph Hellwig wrote: > bio_split_rw is designed to split read and write bios with a payload. > Currently it is called by __bio_split_to_limits for all operations not > explicitly list, which works because bio_may_need_split explicitly checks > for bi_vcnt == 1 and thus skips the bypass if there is no payload and > bio_for_each_bvec loop will never execute it's body if bi_size is 0. > > But all this is hard to understand, fragile and wasted pointless cycles. > Switch __bio_split_to_limits to only call bio_split_rw for READ and > WRITE command and don't attempt any kind split for operation that do not > require splitting. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx> -- Damien Le Moal Western Digital Research