[SCSI] aacraid: informational sysfs value corrections
Some sysfs problems reported. The serial number on late model controllers was truncated. Non-DASD devices (tapes and CDROMs) were showing up as JBOD in the level report on the physical channel. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
e78d5b8f1e
commit
95f6fb5789
1 changed files with 7 additions and 6 deletions
|
@ -495,12 +495,13 @@ static int aac_change_queue_depth(struct scsi_device *sdev, int depth)
|
|||
static ssize_t aac_show_raid_level(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct scsi_device *sdev = to_scsi_device(dev);
|
||||
struct aac_dev *aac = (struct aac_dev *)(sdev->host->hostdata);
|
||||
if (sdev_channel(sdev) != CONTAINER_CHANNEL)
|
||||
return snprintf(buf, PAGE_SIZE, sdev->no_uld_attach
|
||||
? "Hidden\n" : "JBOD");
|
||||
? "Hidden\n" :
|
||||
((aac->jbod && (sdev->type == TYPE_DISK)) ? "JBOD\n" : ""));
|
||||
return snprintf(buf, PAGE_SIZE, "%s\n",
|
||||
get_container_type(((struct aac_dev *)(sdev->host->hostdata))
|
||||
->fsa_dev[sdev_id(sdev)].type));
|
||||
get_container_type(aac->fsa_dev[sdev_id(sdev)].type));
|
||||
}
|
||||
|
||||
static struct device_attribute aac_raid_level_attr = {
|
||||
|
@ -860,8 +861,8 @@ ssize_t aac_show_serial_number(struct class_device *class_dev, char *buf)
|
|||
le32_to_cpu(dev->adapter_info.serial[0]));
|
||||
if (len &&
|
||||
!memcmp(&dev->supplement_adapter_info.MfgPcbaSerialNo[
|
||||
sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo)+2-len],
|
||||
buf, len))
|
||||
sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo)-len],
|
||||
buf, len-1))
|
||||
len = snprintf(buf, PAGE_SIZE, "%.*s\n",
|
||||
(int)sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo),
|
||||
dev->supplement_adapter_info.MfgPcbaSerialNo);
|
||||
|
|
Loading…
Reference in a new issue