On 2023/03/06 15:30, Shin'ichiro Kawasaki wrote: > When sd driver revalidates host-managed SMR disks, it calls > disk_set_zoned() which changes the zone_write_granularity attribute > value to the logical block size regardless of the device type. After > that, the sd driver overwrites the value in sd_zbc_read_zone() with > the physical block size, since ZBC/ZAC requires it for the host-managed > disks. Between the calls to disk_set_zoned() and sd_zbc_read_zone(), > there exists a window that the attribute shows the logical block size as > the zone_write_granularity value, which is wrong for the host-managed > disks. The duration of the window is from 20ms to 200ms, depending on > report zone command execution time. > > To avoid the wrong zone_write_granularity value between disk_set_zoned() > and sd_zbc_read_zone(), modify the value not in sd_zbc_read_zone() but > just after disk_set_zoned() call. > > Fixes: a805a4fa4fa3 ("block: introduce zone_write_granularity limit") > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> Looks good. Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> -- Damien Le Moal Western Digital Research