Re: [PATCH v7 11/16] block: retry zone revalidation on capacity change
flat view
From: Hannes Reinecke <hare@suse.de>
Date: 2026-09-09 09:26:47
On 9/8/26 10:57 AM, Damien Le Moal wrote:
When disk_revalidate_zone_resources() detects a capacity change, -ENODEV is returned, failing the disk revalidation. However, since a capacity change may happen due to a storage element removal being executed concurrently to blk_revalidate_disk_zones(), we can simply retry the revalidation to capture the new zone state with the new capacity without failing the revalidation. Retrying the revalidation is driven by disk_revalidate_zone_resources() returning -EAGAIN when a new valid capacity is detected. And to avoid getting stuck in an infinite loop revalidating zones, retries are limited to 2. Signed-off-by: Damien Le Moal <dlemoal@kernel.org> --- block/blk-zoned.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-)
... and, or course, messing up anything accessing the disk. But that's probably intended at this point. Reviewed-by: Hannes Reinecke <hare@kernel.org> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich