scsi_level constants in scsi.h
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
Quoted 7 lines · Douglas Gilbert
The
scsi_levelvalue in structscsi_deviceis a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs.Changes:
- addscsi_levelconstants for SPC-2 and SPC-3
- comment on relationship betweenscsi_leveland INQUIRY response
Looks cool. What about turning it into an enum while you're at it?
Quoted 6 lines · Christoph Hellwig
Quoted 4 lines · Douglas Gilbert
The
scsi_levelvalue in structscsi_deviceis a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs.
Quoted 6 lines
Quoted 3 lines
Changes:
- addscsi_levelconstants for SPC-2 and SPC-3
- comment on relationship betweenscsi_leveland INQUIRY responseLooks 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