On 10/29/21 8:57 AM, Avri Altman wrote:
HPB allows its read commands to carry the physical addresses along with the LBAs, thus allowing less internal L2P-table switches in the device. HPB1.0 allowed a single LBA, while HPB2.0 increases this capacity up to 255 blocks. Carrying more than a single record, the read operation is no longer purly of type "read" per-se, but some sort of a "hybrid" command -
^^^^^ purely?
writing the physical address to the device and reading the required payload. The HPB JEDEC spec came-up with a dual-command for that operation: HPB-WRITE-BUFFER (0x2) to write the physical addresses to device, and HPB-READ to read the payload. Alas, the current HPB driver design - a single-scsi-LLD-module, has no other alternative but to spawn the READ10 command into 2 commands: HPB-WRITE-BUFFER and HPB-READ. This causes a grat deal of aggrevation to the block layer guys, up to a point, in which that they were willing to revert the entire HPB driver, regardless of the huge amount of corporate effort already inversted in it. Therefore, remove the pre-req API for now, as a matter of urgency to get it done before the closing of the merge window.
Anyway: Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>