[SCSI] Improve inquiry printing

- Replace scsi_device_types array API with scsi_device_type function API.
   Gets rid of a lot of common code, as well as being easier to use.
 - Add the new device types in SPC4 r05a, and rename some of the older ones.
 - Reformat the printing of inquiry data; now fits on one line and
   includes PQ.

I think I've addressed all the feedback from the previous versions.  My
current test box prints:

scsi 2:0:1:0: Direct access     HP 18.2G ATLAS10K3_18_SCA HP05 PQ: 0 ANSI: 2

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Matthew Wilcox
2006-07-04 12:15:20 -06:00
committed by James Bottomley
parent 008cd5bbfb
commit 4ff36718ed
8 changed files with 46 additions and 94 deletions

View File

@@ -96,24 +96,40 @@ unsigned int scsi_logging_level;
EXPORT_SYMBOL(scsi_logging_level);
#endif
const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE] = {
"Direct-Access ",
"Sequential-Access",
static const char *const scsi_device_types[] = {
"Direct access ",
"Sequential access",
"Printer ",
"Processor ",
"WORM ",
"CD-ROM ",
"CD/DVD ",
"Scanner ",
"Optical Device ",
"Medium Changer ",
"Optical memory ",
"Media changer ",
"Communications ",
"Unknown ",
"Unknown ",
"ASC IT8 ",
"ASC IT8 ",
"RAID ",
"Enclosure ",
"Direct-Access-RBC",
"Direct access RBC",
"Optical card ",
"Bridge controller",
"Object storage ",
"Automation/Drive ",
};
EXPORT_SYMBOL(scsi_device_types);
const char * scsi_device_type(unsigned type)
{
if (type == 0x1e)
return "Well-known LUN ";
if (type == 0x1f)
return "No Device ";
if (type > ARRAY_SIZE(scsi_device_types))
return "Unknown ";
return scsi_device_types[type];
}
EXPORT_SYMBOL(scsi_device_type);
struct scsi_host_cmd_pool {
kmem_cache_t *slab;