Re: [PATCH 03/13] block: handle zone management operations completions

Christoph Hellwig
2025-10-31T08:46:15Z

On Fri, Oct 31, 2025 at 03:12:57PM +0900, Damien Le Moal wrote:
> The functions blk_zone_wplug_handle_reset_or_finish() and
> blk_zone_wplug_handle_reset_all() both modify the zone write pointer
> offset of zone write plugs that are the target of a reset, reset all or
> finish zone management operation. However, these functions do this
> modification before the BIO is executed. So if the zone operation fails,
> the modified zone write pointer offsets become invalid.
>
> Avoid this by modifying the zone write pointer offset of a zone write
> plug that is the target of a zone management operation when the
> operation completes. To do so, modify blk_zone_bio_endio() to call the
> new function blk_zone_mgmt_bio_endio() which in turn calls the functions
> blk_zone_reset_all_bio_endio(), blk_zone_reset_bio_endio() or
> blk_zone_finish_bio_endio() depending on the operation of the completed
> BIO, to modify a zone write plug write pointer offset accordingly.
> These functions are called only if the BIO execution was successful.
>
> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>

Should this have a fixes tag and move to the start of the series?

Otherwise looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>