On 2020/04/08 1:53, Christoph Hellwig wrote: > So this new callback is exectured just before blk_revalidate_zone_cb > returns and thus control is transferred back to the driver. What > speaks against just implementing this logic after the callback returns? > ->report_zones is not just called for validation, but does that matter? > If yes we can pass a flag, which still seems a bit better than a > code flow with multiple callbacks. > (Changed the subject to point to the correct patch) Yes. Indeed we can do that. A flag will keep the interface of the report_zones method simpler. But the second call to the revalidate callback done after the zone report is done is still needed so that the wp_ofst array can be updated under the queue freeze and avoid races with number of zones, bitmaps etc updates. I have not found any good way to avoid that one if we want to preserve blk_revalidate_disk_zones() as a generic helper. Of course if we reimplement this in sd_zbc, things are simple, but then we will have a lot of code repeated. -- Damien Le Moal Western Digital Research