diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2010-12-17 16:11:16 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-21 13:37:30 -0500 |
commit | e9ccc998b70fbe59626f393bb0328402159c6b5c (patch) | |
tree | c92a8fc751f9ed3e96195b49a226d88e88c00fa7 /include/scsi | |
parent | 3f1530c1e1f7fc570672f4a54565949070fad05f (diff) |
[SCSI] Add missing SPC-4 CDB and MAINTENANCE_[IN,OUT] service action definitions
This patch adds a handful of missing CDBs defs that are used by TCM
persistent reservation logic in the SPC-4 defined CDB exclusion table for
registrations and reservations.
This includes a number of missing MI_* and MO_* prefixed service actions defs
for MAINTENANCE_IN and MAINTENANCE_OUT that are mentioned wrt to persistent
registration and reservation status for the SCSI Initiator Port.
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 216af8538cc..1651fef1883 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -115,33 +115,61 @@ struct scsi_cmnd; | |||
115 | #define PERSISTENT_RESERVE_OUT 0x5f | 115 | #define PERSISTENT_RESERVE_OUT 0x5f |
116 | #define VARIABLE_LENGTH_CMD 0x7f | 116 | #define VARIABLE_LENGTH_CMD 0x7f |
117 | #define REPORT_LUNS 0xa0 | 117 | #define REPORT_LUNS 0xa0 |
118 | #define SECURITY_PROTOCOL_IN 0xa2 | ||
118 | #define MAINTENANCE_IN 0xa3 | 119 | #define MAINTENANCE_IN 0xa3 |
119 | #define MAINTENANCE_OUT 0xa4 | 120 | #define MAINTENANCE_OUT 0xa4 |
120 | #define MOVE_MEDIUM 0xa5 | 121 | #define MOVE_MEDIUM 0xa5 |
121 | #define EXCHANGE_MEDIUM 0xa6 | 122 | #define EXCHANGE_MEDIUM 0xa6 |
122 | #define READ_12 0xa8 | 123 | #define READ_12 0xa8 |
123 | #define WRITE_12 0xaa | 124 | #define WRITE_12 0xaa |
125 | #define READ_MEDIA_SERIAL_NUMBER 0xab | ||
124 | #define WRITE_VERIFY_12 0xae | 126 | #define WRITE_VERIFY_12 0xae |
125 | #define VERIFY_12 0xaf | 127 | #define VERIFY_12 0xaf |
126 | #define SEARCH_HIGH_12 0xb0 | 128 | #define SEARCH_HIGH_12 0xb0 |
127 | #define SEARCH_EQUAL_12 0xb1 | 129 | #define SEARCH_EQUAL_12 0xb1 |
128 | #define SEARCH_LOW_12 0xb2 | 130 | #define SEARCH_LOW_12 0xb2 |
131 | #define SECURITY_PROTOCOL_OUT 0xb5 | ||
129 | #define READ_ELEMENT_STATUS 0xb8 | 132 | #define READ_ELEMENT_STATUS 0xb8 |
130 | #define SEND_VOLUME_TAG 0xb6 | 133 | #define SEND_VOLUME_TAG 0xb6 |
131 | #define WRITE_LONG_2 0xea | 134 | #define WRITE_LONG_2 0xea |
135 | #define EXTENDED_COPY 0x83 | ||
136 | #define RECEIVE_COPY_RESULTS 0x84 | ||
137 | #define ACCESS_CONTROL_IN 0x86 | ||
138 | #define ACCESS_CONTROL_OUT 0x87 | ||
132 | #define READ_16 0x88 | 139 | #define READ_16 0x88 |
133 | #define WRITE_16 0x8a | 140 | #define WRITE_16 0x8a |
141 | #define READ_ATTRIBUTE 0x8c | ||
142 | #define WRITE_ATTRIBUTE 0x8d | ||
134 | #define VERIFY_16 0x8f | 143 | #define VERIFY_16 0x8f |
135 | #define WRITE_SAME_16 0x93 | 144 | #define WRITE_SAME_16 0x93 |
136 | #define SERVICE_ACTION_IN 0x9e | 145 | #define SERVICE_ACTION_IN 0x9e |
137 | /* values for service action in */ | 146 | /* values for service action in */ |
138 | #define SAI_READ_CAPACITY_16 0x10 | 147 | #define SAI_READ_CAPACITY_16 0x10 |
139 | #define SAI_GET_LBA_STATUS 0x12 | 148 | #define SAI_GET_LBA_STATUS 0x12 |
149 | /* values for VARIABLE_LENGTH_CMD service action codes | ||
150 | * see spc4r17 Section D.3.5, table D.7 and D.8 */ | ||
151 | #define VLC_SA_RECEIVE_CREDENTIAL 0x1800 | ||
140 | /* values for maintenance in */ | 152 | /* values for maintenance in */ |
153 | #define MI_REPORT_IDENTIFYING_INFORMATION 0x05 | ||
141 | #define MI_REPORT_TARGET_PGS 0x0a | 154 | #define MI_REPORT_TARGET_PGS 0x0a |
155 | #define MI_REPORT_ALIASES 0x0b | ||
156 | #define MI_REPORT_SUPPORTED_OPERATION_CODES 0x0c | ||
157 | #define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS 0x0d | ||
158 | #define MI_REPORT_PRIORITY 0x0e | ||
159 | #define MI_REPORT_TIMESTAMP 0x0f | ||
160 | #define MI_MANAGEMENT_PROTOCOL_IN 0x10 | ||
142 | /* values for maintenance out */ | 161 | /* values for maintenance out */ |
162 | #define MO_SET_IDENTIFYING_INFORMATION 0x06 | ||
143 | #define MO_SET_TARGET_PGS 0x0a | 163 | #define MO_SET_TARGET_PGS 0x0a |
164 | #define MO_CHANGE_ALIASES 0x0b | ||
165 | #define MO_SET_PRIORITY 0x0e | ||
166 | #define MO_SET_TIMESTAMP 0x0f | ||
167 | #define MO_MANAGEMENT_PROTOCOL_OUT 0x10 | ||
144 | /* values for variable length command */ | 168 | /* values for variable length command */ |
169 | #define XDREAD_32 0x03 | ||
170 | #define XDWRITE_32 0x04 | ||
171 | #define XPWRITE_32 0x06 | ||
172 | #define XDWRITEREAD_32 0x07 | ||
145 | #define READ_32 0x09 | 173 | #define READ_32 0x09 |
146 | #define VERIFY_32 0x0a | 174 | #define VERIFY_32 0x0a |
147 | #define WRITE_32 0x0b | 175 | #define WRITE_32 0x0b |