On 2022-03-09 04:46, Damien Le Moal wrote: > On 3/9/22 01:53, Pankaj Raghav wrote: >> A new fops is added to block device which will be used to setup the >> necessary hooks when a non-power_of_2 zone size is detected in a zoned >> device. >> >> This fops will be called as a part of blk_revalidate_disk_zones. > > And what does this new hook do ? You are actually not explaining it, nor > why it should be called from blk_revalidate_disk_zones(). I should have elaborated the "why" and "how" a bit more in my commit log. I will fix it in my next revision. The main idea why it was added and called as a part of blk_revalidate_disk_zones is this: As the block layer expects the zone sizes to be po2, this fops can be used by the driver to configure a npo2 device to be presented as a po2 device before the parameters such as zone bitmaps and chunk sectors are set. > Also, blk_revalidate_zone_cb() uses bit shift but this patch, nor the > previous one fix that. > The answer I gave to blkdev_nr_zones question for patch 1/6 applies here as well. The zone sizes used by blk_revalidate_zone_cb will be the emulated po2 zone size and not the actual device zone size which is npo2. So the math currently used in blk_revalidate_zone_cb is still applicable. -- Regards, Pankaj