提交 f3f01730 编写于 作者: K Kevin Barnett 提交者: Martin K. Petersen

hpsa: add function is_logical_device

simplify checking for logical/physical devices
Reviewed-by: NScott Teel <scott.teel@pmcs.com>
Reviewed-by: NJustin Lindley <justin.lindley@pmcs.com>
Reviewed-by: NKevin Barnett <kevin.barnett@pmcs.com>
Reviewed-by: NTomas Henzl <thenzl@redhat.com>
Reviewed-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
Reviewed-by: NHannes Reinecke <hare@suse.de>
Signed-off-by: NDon Brace <don.brace@pmcs.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
上级 04fa2f44
...@@ -618,6 +618,11 @@ static const char * const raid_label[] = { "0", "4", "1(+0)", "5", "5+1", "6", ...@@ -618,6 +618,11 @@ static const char * const raid_label[] = { "0", "4", "1(+0)", "5", "5+1", "6",
#define HPSA_RAID_ADM 6 /* also used for RAID 1+0 ADM */ #define HPSA_RAID_ADM 6 /* also used for RAID 1+0 ADM */
#define RAID_UNKNOWN (ARRAY_SIZE(raid_label) - 1) #define RAID_UNKNOWN (ARRAY_SIZE(raid_label) - 1)
static inline bool is_logical_device(struct hpsa_scsi_dev_t *device)
{
return !device->physical_device;
}
static ssize_t raid_level_show(struct device *dev, static ssize_t raid_level_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
...@@ -638,7 +643,7 @@ static ssize_t raid_level_show(struct device *dev, ...@@ -638,7 +643,7 @@ static ssize_t raid_level_show(struct device *dev,
} }
/* Is this even a logical drive? */ /* Is this even a logical drive? */
if (!is_logical_dev_addr_mode(hdev->scsi3addr)) { if (!is_logical_device(hdev)) {
spin_unlock_irqrestore(&h->lock, flags); spin_unlock_irqrestore(&h->lock, flags);
l = snprintf(buf, PAGE_SIZE, "N/A\n"); l = snprintf(buf, PAGE_SIZE, "N/A\n");
return l; return l;
...@@ -772,8 +777,8 @@ static ssize_t path_info_show(struct device *dev, ...@@ -772,8 +777,8 @@ static ssize_t path_info_show(struct device *dev,
scsi_device_type(hdev->devtype)); scsi_device_type(hdev->devtype));
if (is_ext_target(h, hdev) || if (is_ext_target(h, hdev) ||
(hdev->devtype == TYPE_RAID) || hdev->devtype == TYPE_RAID ||
is_logical_dev_addr_mode(hdev->scsi3addr)) { is_logical_device(hdev)) {
output_len += snprintf(path[i] + output_len, output_len += snprintf(path[i] + output_len,
PATH_STRING_LEN, "%s\n", PATH_STRING_LEN, "%s\n",
active); active);
...@@ -1587,7 +1592,7 @@ static void hpsa_figure_phys_disk_ptrs(struct ctlr_info *h, ...@@ -1587,7 +1592,7 @@ static void hpsa_figure_phys_disk_ptrs(struct ctlr_info *h,
continue; continue;
if (dev[j]->devtype != TYPE_DISK) if (dev[j]->devtype != TYPE_DISK)
continue; continue;
if (is_logical_dev_addr_mode(dev[j]->scsi3addr)) if (is_logical_device(dev[j]))
continue; continue;
if (dev[j]->ioaccel_handle != dd[i].ioaccel_handle) if (dev[j]->ioaccel_handle != dd[i].ioaccel_handle)
continue; continue;
...@@ -1632,7 +1637,7 @@ static void hpsa_update_log_drive_phys_drive_ptrs(struct ctlr_info *h, ...@@ -1632,7 +1637,7 @@ static void hpsa_update_log_drive_phys_drive_ptrs(struct ctlr_info *h,
continue; continue;
if (dev[i]->devtype != TYPE_DISK) if (dev[i]->devtype != TYPE_DISK)
continue; continue;
if (!is_logical_dev_addr_mode(dev[i]->scsi3addr)) if (!is_logical_device(dev[i]))
continue; continue;
/* /*
...@@ -2237,7 +2242,7 @@ static void process_ioaccel2_completion(struct ctlr_info *h, ...@@ -2237,7 +2242,7 @@ static void process_ioaccel2_completion(struct ctlr_info *h,
* the normal I/O path so the controller can handle whatever's * the normal I/O path so the controller can handle whatever's
* wrong. * wrong.
*/ */
if (is_logical_dev_addr_mode(dev->scsi3addr) && if (is_logical_device(dev) &&
c2->error_data.serv_response == c2->error_data.serv_response ==
IOACCEL2_SERV_RESPONSE_FAILURE) { IOACCEL2_SERV_RESPONSE_FAILURE) {
if (c2->error_data.status == if (c2->error_data.status ==
...@@ -2357,7 +2362,7 @@ static void complete_scsi_command(struct CommandList *cp) ...@@ -2357,7 +2362,7 @@ static void complete_scsi_command(struct CommandList *cp)
* the normal I/O path so the controller can handle whatever's * the normal I/O path so the controller can handle whatever's
* wrong. * wrong.
*/ */
if (is_logical_dev_addr_mode(dev->scsi3addr)) { if (is_logical_device(dev)) {
if (ei->CommandStatus == CMD_IOACCEL_DISABLED) if (ei->CommandStatus == CMD_IOACCEL_DISABLED)
dev->offload_enabled = 0; dev->offload_enabled = 0;
return hpsa_retry_cmd(h, cp); return hpsa_retry_cmd(h, cp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册