mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
hpsa: add SMR drive support
Reviewed-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> Reviewed-by: Justin Lindley <justin.lindley@microsemi.com> Reviewed-by: Scott Teel <scott.teel@microsemi.com> Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com> Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> Signed-off-by: Don Brace <don.brace@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
17a9e54a99
commit
af15ed3645
@ -809,7 +809,8 @@ static ssize_t path_info_show(struct device *dev,
|
||||
PAGE_SIZE - output_len,
|
||||
"PORT: %.2s ",
|
||||
phys_connector);
|
||||
if (hdev->devtype == TYPE_DISK && hdev->expose_device) {
|
||||
if ((hdev->devtype == TYPE_DISK || hdev->devtype == TYPE_ZBC) &&
|
||||
hdev->expose_device) {
|
||||
if (box == 0 || box == 0xFF) {
|
||||
output_len += scnprintf(buf + output_len,
|
||||
PAGE_SIZE - output_len,
|
||||
@ -1166,6 +1167,7 @@ static void hpsa_show_dev_msg(const char *level, struct ctlr_info *h,
|
||||
snprintf(label, LABEL_SIZE, "enclosure");
|
||||
break;
|
||||
case TYPE_DISK:
|
||||
case TYPE_ZBC:
|
||||
if (dev->external)
|
||||
snprintf(label, LABEL_SIZE, "external");
|
||||
else if (!is_logical_dev_addr_mode(dev->scsi3addr))
|
||||
@ -1636,6 +1638,8 @@ static void hpsa_figure_phys_disk_ptrs(struct ctlr_info *h,
|
||||
continue;
|
||||
if (dev[j]->devtype != TYPE_DISK)
|
||||
continue;
|
||||
if (dev[j]->devtype != TYPE_ZBC)
|
||||
continue;
|
||||
if (is_logical_device(dev[j]))
|
||||
continue;
|
||||
if (dev[j]->ioaccel_handle != dd[i].ioaccel_handle)
|
||||
@ -1681,6 +1685,8 @@ static void hpsa_update_log_drive_phys_drive_ptrs(struct ctlr_info *h,
|
||||
continue;
|
||||
if (dev[i]->devtype != TYPE_DISK)
|
||||
continue;
|
||||
if (dev[i]->devtype != TYPE_ZBC)
|
||||
continue;
|
||||
if (!is_logical_device(dev[i]))
|
||||
continue;
|
||||
|
||||
@ -3715,7 +3721,8 @@ static int hpsa_update_device_info(struct ctlr_info *h,
|
||||
hpsa_get_device_id(h, scsi3addr, this_device->device_id, 8,
|
||||
sizeof(this_device->device_id));
|
||||
|
||||
if (this_device->devtype == TYPE_DISK &&
|
||||
if ((this_device->devtype == TYPE_DISK ||
|
||||
this_device->devtype == TYPE_ZBC) &&
|
||||
is_logical_dev_addr_mode(scsi3addr)) {
|
||||
int volume_offline;
|
||||
|
||||
@ -4183,6 +4190,7 @@ static void hpsa_update_scsi_devices(struct ctlr_info *h)
|
||||
ncurrent++;
|
||||
break;
|
||||
case TYPE_DISK:
|
||||
case TYPE_ZBC:
|
||||
if (this_device->physical_device) {
|
||||
/* The disk is in HBA mode. */
|
||||
/* Never use RAID mapper in HBA mode. */
|
||||
|
Loading…
Reference in New Issue
Block a user