>> if (endio) { >> int r = endio(ti, bio, &error); >> switch (r) { >> @@ -1155,6 +1151,10 @@ static void clone_endio(struct bio *bio) >> } >> } >> >> + if (static_branch_unlikely(&zoned_enabled) && >> + unlikely(bdev_is_zoned(bio->bi_bdev))) >> + dm_zone_endio(io, bio); >> + >> if (static_branch_unlikely(&swap_bios_enabled) && >> unlikely(swap_bios_limit(ti, bio))) >> up(&md->swap_bios_semaphore); > > This patch seems completely unrelated to the series topic. Is that a bug > fix ? How do you trigger it ? Our tests do not show any issues here... > If this triggers only with non power of 2 zone size devices, then this > should be squashed in patch 8. And patch 9 could also be squashed with > patch 8 too. > The targets that support zoned devices such as dm-zoned, dm-linear, and dm-crypt do not have an endio function, and even if they do (such as dm-flakey), they don't modify the bio->bi_iter.bi_sector of the cloned bio that is used to update the orig_bio's bi_sector in dm_zone_endio function. This path is triggered only for the new target dm-po2zone and not for npo2 zone size devices in general. I will mention this is a prep patch for the new target because I wouldn't call it a bug per se.