On Tue, Aug 23 2022 at 8:18P -0400, Pankaj Raghav <p.raghav@xxxxxxxxxxx> wrote: > dm_zone_endio() updates the bi_sector of orig bio for zoned devices that > uses either native append or append emulation, and it is called before the > endio of the target. But target endio can still update the clone bio > after dm_zone_endio is called, thereby, the orig bio does not contain > the updated information anymore. > > Currently, this is not a problem as 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 is a prep patch for the new dm-po2zone target as it modifies > bi_sector in the endio callback. > > Call dm_zone_endio for zoned devices after calling the target's endio > function. > > Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> Great patch header, explains the situation nicely. Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx>