On 1/30/2019 10:08 PM, John Dorminy wrote:
Alternately, could possibly WRITE_SAME bios be accepted with the minimum sector size of the stack rather than the max, e.g. 512 in this example rather than 4k? They'd need to have a granularity of the larger sector size, though, presumabily necessitating new queue limits write_same_{granularity,block_size}, which might be too much work. For devices with bigger sectors, the block layer or DM would need to expand the small-sector payload to an appropriate larger-sector payload, but it would preserve the ability to use WRITE_SAME with non-zero payloads. (I use WRITE_SAME to fill devices with a particular pattern in order to catch failures to initialize disk structures appropriately, personally, but it's just for convenience/speed.)
I think two LBSs will produce ambiguity. Reference spec Information technology - SCSI Block Commands – 4 (SBC-4) ISO/IEC 14776-324:201x BSR INCITS 506:201x 5.50 WRITE SAME (10) command The WRITE SAME (10) command (see table 145) requests that the device server **transfer a single logical block** from the Data-Out Buffer and for each LBA in the specified range of LBAs: