Re: [PATCH 2/2] block: fix the length of a smaller last zone in blkdev_get_zone_info()
From: Christoph Hellwig
Date: Mon Oct 12 2026 - 08:25:04 EST
On Sun, Oct 11, 2026 at 10:49:06AM +0530, Shashank Mohan Jain wrote:
> blkdev_get_zone_info() sets the length of every zone to the zone size
> of the device. The last zone of a zoned block device may be smaller
> than the others: blk_revalidate_zone_cb() accepts that and remembers
> the capacity of that zone in disk->last_zone_capacity. For such a zone
> the length reported from the cached information is too large, and
> start + len is beyond the end of the device. A conventional last zone
> is also given the capacity of a full zone.
>
> Example with a zoned null_blk device of 10 MiB (20480 sectors) with
> 4 MiB zones, last zone:
>
> BLKREPORTZONE: start 16384 len 4096 capacity 4096
> BLKREPORTZONEV2 with
> BLK_ZONE_REP_CACHED: start 16384 len 8192 capacity 4096
Can you add this to blktests as a reproducer?
The patch looks good:
Reviewed-by: Christoph Hellwig <hch@xxxxxx>