Re: [PATCH 1 22/25] hpsa: enhance device messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 28.10.2015 23:06, Don Brace wrote:
> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx>
> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx>
> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx>
> Signed-off-by: Don Brace <don.brace@xxxxxxxx>
> ---
>  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 majordomo@xxxxxxxxxxxxxxx
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux