Bug #2108
opensd INQUIRY parsing and SCSI version handling needs work
40%
Description
inquiry.h: The RDF_ macros actually refer to the SCSI version (SPC version) as found in inq_ansi. The descriptions are totally wrong for response data formats. Values greater than 0x2 for RDF are reserved.
Renamed as ANSI_ macros.
The struct scsi_inquiry field inq_dtype is the wrong size (8 bits vs 5 bits) and inq_qual is the wrong size (should be the higher 3 bits of the first byte) and location (located where the obsolete "device-type modifier" field was in SCSI-2), inq_dtype just happens to work for the device type when used as an 8-bit value because the device qualifier we care about is always 0.
Using http://ldkelley.com/SCSI2/SCSI2-08.html as a reference for SCSI-2 spec.
We also forgot to handle SPC-4 devices when deciding to check for command queuing capabilities.
Related issues
No data to display