Skip to contentSkip to conversation

scsi_level constants in scsi.h

PATCH In review Douglas Gilbert 2 participants 3 messages Aug 24, 2004 – Aug 25, 2004 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi_level constants in scsi.h

The scsi_level value in struct scsi_device is a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs.

Changes:
- add scsi_level constants for SPC-2 and SPC-3
- comment on relationship between scsi_level and INQUIRY response

Doug Gilbert

include/scsi/scsi.h2681sl renamed from include/scsi/scsi.h +7 -2
@@ -353,14 +353,19 @@
 		     ((lun) & 0x07))
 
 /*
- *  SCSI command sets
+ *  struct scsi_device::scsi_level values. For SCSI devices other than those
+ *  prior to SCSI-2 (i.e. over 12 years old) this value is (resp[2] + 1)
+ *  where "resp" is a byte array of the response to an INQUIRY. The scsi_level
+ *  variable is visible to the user via sysfs.
  */
 
 #define SCSI_UNKNOWN    0
 #define SCSI_1          1
 #define SCSI_1_CCS      2
 #define SCSI_2          3
-#define SCSI_3          4
+#define SCSI_3          4        /* SPC */
+#define SCSI_SPC_2      5
+#define SCSI_SPC_3      6
 
 /*
  * INQ PERIPHERAL QUALIFIERS
#1 lore raw
Quoted 7 lines · Douglas Gilbert

The scsi_level value in struct scsi_device is a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs.

Changes:
- add scsi_level constants for SPC-2 and SPC-3
- comment on relationship between scsi_level and INQUIRY response

Looks cool. What about turning it into an enum while you're at it?

#2 lore raw
Quoted 6 lines · Christoph Hellwig
Quoted 4 lines · Douglas Gilbert

The scsi_level value in struct scsi_device is a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs.

Quoted 6 lines
Quoted 3 lines

Changes:
- add scsi_level constants for SPC-2 and SPC-3
- comment on relationship between scsi_level and INQUIRY response

Looks cool. What about turning it into an enum while you're at it?

Christoph,
Changes:
- convert scsi_level defines to enumerations
- add scsi_level enumerations for SPC-2, SPC-3 and proposed SPC-4
- comment on relationship between scsi_level and INQUIRY response

Patch against lk 2.6.9-rc1 attached.

Doug Gilbert

include/scsi/scsi.h269rc1sl2 renamed from include/scsi/scsi.h +14 -6
@@ -354,14 +354,22 @@
 		     ((lun) & 0x07))
 
 /*
- *  SCSI command sets
+ *  struct scsi_device::scsi_level values. For SCSI devices other than those
+ *  prior to SCSI-2 (i.e. over 12 years old) this value is (resp[2] + 1)
+ *  where "resp" is a byte array of the response to an INQUIRY. The scsi_level
+ *  variable is visible to the user via sysfs.
  */
 
-#define SCSI_UNKNOWN    0
-#define SCSI_1          1
-#define SCSI_1_CCS      2
-#define SCSI_2          3
-#define SCSI_3          4
+enum scsi_level_state {
+	SCSI_UNKNOWN =	0,
+	SCSI_1 =	1,
+	SCSI_1_CCS =	2,
+	SCSI_2 =	3,
+	SCSI_3 =	4,	/* SPC */
+	SCSI_SPC_2 =	5,
+	SCSI_SPC_3 =	6,
+	SCSI_SPC_4 =	7
+};
 
 /*
  * INQ PERIPHERAL QUALIFIERS