Damien, > Per ZBC and ZAC specifications, host-managed SMR hard-disks mandate that > all writes into sequential write required zones be aligned to the device > physical block size. However, NVMe ZNS does not have this constraint and > allows write operations into sequential zones to be aligned to the > device logical block size. This inconsistency does not help with > software portability across device types. > > To solve this, introduce the zone_write_granularity queue limit to > indicate the alignment constraint, in bytes, of write operations into > zones of a zoned block device. This new limit is exported as a > read-only sysfs queue attribute and the helper > blk_queue_zone_write_granularity() introduced for drivers to set this > limit. > > The function blk_queue_set_zoned() is modified to set this new limit to > the device logical block size by default. NVMe ZNS devices as well as > zoned nullb devices use this default value as is. The scsi disk driver > is modified to execute the blk_queue_zone_write_granularity() helper to > set the zone write granularity of host-managed SMR disks to the disk > physical block size. > > The accessor functions queue_zone_write_granularity() and > bdev_zone_write_granularity() are also introduced. Looks fine. Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> -- Martin K. Petersen Oracle Linux Engineering