On 28.10.2015 23:06, Don Brace wrote:
> Reviewed-by: Justin Lindley <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Reviewed-by: Kevin Barnett <[email protected]>
> Signed-off-by: Don Brace <[email protected]>
> ---
>  drivers/scsi/hpsa.c |   45 ++++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 40 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> index 33fd0aa..b2418c3 100644
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -609,7 +609,7 @@ static inline int is_logical_dev_addr_mode(unsigned char 
> scsi3addr[])
>  }
>  
>  static const char * const raid_label[] = { "0", "4", "1(+0)", "5", "5+1", 
> "6",
> -     "1(+0)ADM", "UNKNOWN"
> +     "1(+0)ADM", "UNKNOWN", "PHYS DRV"
>  };
>  #define HPSA_RAID_0  0
>  #define HPSA_RAID_4  1
> @@ -618,7 +618,8 @@ static const char * const raid_label[] = { "0", "4", 
> "1(+0)", "5", "5+1", "6",
>  #define HPSA_RAID_51 4
>  #define HPSA_RAID_6  5       /* also used for RAID 60 */
>  #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) - 2)
> +#define PHYSICAL_DRIVE (ARRAY_SIZE(raid_label) - 1)

RAID_UNKNOWN is used in few other places - raid_level_show for example,
shouldn't be that also adapted?

-tm

> /
>  
>  static inline bool is_logical_device(struct hpsa_scsi_dev_t *device)
>  {
> @@ -1144,21 +1145,55 @@ static int hpsa_find_target_lun(struct ctlr_info *h,
>  static void hpsa_show_dev_msg(const char *level, struct ctlr_info *h,
>       struct hpsa_scsi_dev_t *dev, char *description)
>  {
> +#define LABEL_SIZE 25
> +     char label[LABEL_SIZE];
> +
>       if (dev == NULL)
>               return;
>  
>       if (h == NULL || h->pdev == NULL || h->scsi_host == NULL)
>               return;
>  
> +     switch (dev->devtype) {
> +     case TYPE_RAID:
> +             snprintf(label, LABEL_SIZE, "controller");
> +             break;
> +     case TYPE_ENCLOSURE:
> +             snprintf(label, LABEL_SIZE, "enclosure");
> +             break;
> +     case TYPE_DISK:
> +             if (dev->external)
> +                     snprintf(label, LABEL_SIZE, "external");
> +             else if (!is_logical_dev_addr_mode(dev->scsi3addr))
> +                     snprintf(label, LABEL_SIZE, "%s",
> +                             raid_label[PHYSICAL_DRIVE]);
> +             else
> +                     snprintf(label, LABEL_SIZE, "RAID-%s",
> +                             dev->raid_level > RAID_UNKNOWN ? "?" :
> +                             raid_label[dev->raid_level]);
> +             break;
> +     case TYPE_ROM:
> +             snprintf(label, LABEL_SIZE, "rom");
> +             break;
> +     case TYPE_TAPE:
> +             snprintf(label, LABEL_SIZE, "tape");
> +             break;
> +     case TYPE_MEDIUM_CHANGER:
> +             snprintf(label, LABEL_SIZE, "changer");
> +             break;
> +     default:
> +             snprintf(label, LABEL_SIZE, "UNKNOWN");
> +             break;
> +     }
> +
>       dev_printk(level, &h->pdev->dev,
> -                     "scsi %d:%d:%d:%d: %s %s %.8s %.16s RAID-%s 
> SSDSmartPathCap%c En%c Exp=%d\n",
> +                     "scsi %d:%d:%d:%d: %s %s %.8s %.16s %s 
> SSDSmartPathCap%c En%c Exp=%d\n",
>                       h->scsi_host->host_no, dev->bus, dev->target, dev->lun,
>                       description,
>                       scsi_device_type(dev->devtype),
>                       dev->vendor,
>                       dev->model,
> -                     dev->raid_level > RAID_UNKNOWN ?
> -                             "RAID-?" : raid_label[dev->raid_level],
> +                     label,
>                       dev->offload_config ? '+' : '-',
>                       dev->offload_enabled ? '+' : '-',
>                       dev->expose_device);
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to