aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2010-12-17 16:11:16 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:37:30 -0500
commite9ccc998b70fbe59626f393bb0328402159c6b5c (patch)
treec92a8fc751f9ed3e96195b49a226d88e88c00fa7 /include/scsi
parent3f1530c1e1f7fc570672f4a54565949070fad05f (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.h28
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