Damien Le Moal e815d36548 scsi: sd: add concurrent positioning ranges support
Add the sd_read_cpr() function to the sd scsi disk driver to discover
if a device has multiple concurrent positioning ranges (i.e. multiple
actuators on an HDD). The existence of VPD page B9h indicates if a
device has multiple concurrent positioning ranges. The page content
describes each range supported by the device.

sd_read_cpr() is called from sd_revalidate_disk() and uses the block
layer functions disk_alloc_independent_access_ranges() and
disk_set_independent_access_ranges() to represent the set of actuators
of the device as independent access ranges.

The format of the Concurrent Positioning Ranges VPD page B9h is defined
in section 6.6.6 of SBC-5.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Link: https://lore.kernel.org/r/20211027022223.183838-3-damien.lemoal@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-26 21:01:48 -06:00
..
2021-10-16 08:45:46 -07:00
2021-10-17 17:17:28 -10:00
2021-09-01 08:44:42 -07:00
2021-10-17 17:17:28 -10:00
2021-09-07 12:38:59 -07:00
2021-09-09 11:48:27 -07:00
2021-09-09 11:39:57 -07:00
2021-09-08 11:50:26 -07:00
2021-09-09 11:07:47 -07:00
2021-10-17 17:30:49 -10:00
2021-09-15 17:18:56 -07:00
2021-10-17 17:10:00 -10:00
2021-10-08 11:57:54 -07:00
2021-09-01 08:44:42 -07:00
2021-09-07 12:38:59 -07:00
2021-10-14 18:21:39 -04:00
2021-10-16 09:00:46 -07:00
2021-09-20 12:43:34 +01:00
2021-09-01 15:25:28 -07:00
2021-09-01 08:44:42 -07:00
2021-10-17 17:17:28 -10:00
2021-09-01 10:29:29 -07:00
2021-10-17 17:06:31 -10:00
2021-10-15 15:04:02 +02:00
2021-10-17 18:17:19 -10:00
2021-10-08 12:55:23 -07:00
2021-08-14 15:54:09 -06:00