Re: [PATCH v12 11/13] dm: call dm_zone_endio after the target endio callback for zoned devices

From: Mike Snitzer
Date: Thu Sep 01 2022 - 20:18:30 EST


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>