diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/scsi/scsi.h | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'include/scsi/scsi.h')
-rw-r--r-- | include/scsi/scsi.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 8fcb6e0e9e72..3668903e397b 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #define _SCSI_SCSI_H | 9 | #define _SCSI_SCSI_H |
10 | 10 | ||
11 | #include <linux/types.h> | 11 | #include <linux/types.h> |
12 | #include <linux/scatterlist.h> | ||
12 | 13 | ||
13 | struct scsi_cmnd; | 14 | struct scsi_cmnd; |
14 | 15 | ||
@@ -32,6 +33,12 @@ struct scsi_cmnd; | |||
32 | #endif | 33 | #endif |
33 | 34 | ||
34 | /* | 35 | /* |
36 | * DIX-capable adapters effectively support infinite chaining for the | ||
37 | * protection information scatterlist | ||
38 | */ | ||
39 | #define SCSI_MAX_PROT_SG_SEGMENTS 0xFFFF | ||
40 | |||
41 | /* | ||
35 | * Special value for scanning to specify scanning or rescanning of all | 42 | * Special value for scanning to specify scanning or rescanning of all |
36 | * possible channels, (target) ids, or luns on a given shost. | 43 | * possible channels, (target) ids, or luns on a given shost. |
37 | */ | 44 | */ |
@@ -67,6 +74,7 @@ struct scsi_cmnd; | |||
67 | #define SEND_DIAGNOSTIC 0x1d | 74 | #define SEND_DIAGNOSTIC 0x1d |
68 | #define ALLOW_MEDIUM_REMOVAL 0x1e | 75 | #define ALLOW_MEDIUM_REMOVAL 0x1e |
69 | 76 | ||
77 | #define READ_FORMAT_CAPACITIES 0x23 | ||
70 | #define SET_WINDOW 0x24 | 78 | #define SET_WINDOW 0x24 |
71 | #define READ_CAPACITY 0x25 | 79 | #define READ_CAPACITY 0x25 |
72 | #define READ_10 0x28 | 80 | #define READ_10 0x28 |
@@ -96,6 +104,8 @@ struct scsi_cmnd; | |||
96 | #define WRITE_SAME 0x41 | 104 | #define WRITE_SAME 0x41 |
97 | #define UNMAP 0x42 | 105 | #define UNMAP 0x42 |
98 | #define READ_TOC 0x43 | 106 | #define READ_TOC 0x43 |
107 | #define READ_HEADER 0x44 | ||
108 | #define GET_EVENT_STATUS_NOTIFICATION 0x4a | ||
99 | #define LOG_SELECT 0x4c | 109 | #define LOG_SELECT 0x4c |
100 | #define LOG_SENSE 0x4d | 110 | #define LOG_SENSE 0x4d |
101 | #define XDWRITEREAD_10 0x53 | 111 | #define XDWRITEREAD_10 0x53 |
@@ -107,33 +117,61 @@ struct scsi_cmnd; | |||
107 | #define PERSISTENT_RESERVE_OUT 0x5f | 117 | #define PERSISTENT_RESERVE_OUT 0x5f |
108 | #define VARIABLE_LENGTH_CMD 0x7f | 118 | #define VARIABLE_LENGTH_CMD 0x7f |
109 | #define REPORT_LUNS 0xa0 | 119 | #define REPORT_LUNS 0xa0 |
120 | #define SECURITY_PROTOCOL_IN 0xa2 | ||
110 | #define MAINTENANCE_IN 0xa3 | 121 | #define MAINTENANCE_IN 0xa3 |
111 | #define MAINTENANCE_OUT 0xa4 | 122 | #define MAINTENANCE_OUT 0xa4 |
112 | #define MOVE_MEDIUM 0xa5 | 123 | #define MOVE_MEDIUM 0xa5 |
113 | #define EXCHANGE_MEDIUM 0xa6 | 124 | #define EXCHANGE_MEDIUM 0xa6 |
114 | #define READ_12 0xa8 | 125 | #define READ_12 0xa8 |
115 | #define WRITE_12 0xaa | 126 | #define WRITE_12 0xaa |
127 | #define READ_MEDIA_SERIAL_NUMBER 0xab | ||
116 | #define WRITE_VERIFY_12 0xae | 128 | #define WRITE_VERIFY_12 0xae |
117 | #define VERIFY_12 0xaf | 129 | #define VERIFY_12 0xaf |
118 | #define SEARCH_HIGH_12 0xb0 | 130 | #define SEARCH_HIGH_12 0xb0 |
119 | #define SEARCH_EQUAL_12 0xb1 | 131 | #define SEARCH_EQUAL_12 0xb1 |
120 | #define SEARCH_LOW_12 0xb2 | 132 | #define SEARCH_LOW_12 0xb2 |
133 | #define SECURITY_PROTOCOL_OUT 0xb5 | ||
121 | #define READ_ELEMENT_STATUS 0xb8 | 134 | #define READ_ELEMENT_STATUS 0xb8 |
122 | #define SEND_VOLUME_TAG 0xb6 | 135 | #define SEND_VOLUME_TAG 0xb6 |
123 | #define WRITE_LONG_2 0xea | 136 | #define WRITE_LONG_2 0xea |
137 | #define EXTENDED_COPY 0x83 | ||
138 | #define RECEIVE_COPY_RESULTS 0x84 | ||
139 | #define ACCESS_CONTROL_IN 0x86 | ||
140 | #define ACCESS_CONTROL_OUT 0x87 | ||
124 | #define READ_16 0x88 | 141 | #define READ_16 0x88 |
125 | #define WRITE_16 0x8a | 142 | #define WRITE_16 0x8a |
143 | #define READ_ATTRIBUTE 0x8c | ||
144 | #define WRITE_ATTRIBUTE 0x8d | ||
126 | #define VERIFY_16 0x8f | 145 | #define VERIFY_16 0x8f |
127 | #define WRITE_SAME_16 0x93 | 146 | #define WRITE_SAME_16 0x93 |
128 | #define SERVICE_ACTION_IN 0x9e | 147 | #define SERVICE_ACTION_IN 0x9e |
129 | /* values for service action in */ | 148 | /* values for service action in */ |
130 | #define SAI_READ_CAPACITY_16 0x10 | 149 | #define SAI_READ_CAPACITY_16 0x10 |
131 | #define SAI_GET_LBA_STATUS 0x12 | 150 | #define SAI_GET_LBA_STATUS 0x12 |
151 | /* values for VARIABLE_LENGTH_CMD service action codes | ||
152 | * see spc4r17 Section D.3.5, table D.7 and D.8 */ | ||
153 | #define VLC_SA_RECEIVE_CREDENTIAL 0x1800 | ||
132 | /* values for maintenance in */ | 154 | /* values for maintenance in */ |
155 | #define MI_REPORT_IDENTIFYING_INFORMATION 0x05 | ||
133 | #define MI_REPORT_TARGET_PGS 0x0a | 156 | #define MI_REPORT_TARGET_PGS 0x0a |
157 | #define MI_REPORT_ALIASES 0x0b | ||
158 | #define MI_REPORT_SUPPORTED_OPERATION_CODES 0x0c | ||
159 | #define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS 0x0d | ||
160 | #define MI_REPORT_PRIORITY 0x0e | ||
161 | #define MI_REPORT_TIMESTAMP 0x0f | ||
162 | #define MI_MANAGEMENT_PROTOCOL_IN 0x10 | ||
134 | /* values for maintenance out */ | 163 | /* values for maintenance out */ |
164 | #define MO_SET_IDENTIFYING_INFORMATION 0x06 | ||
135 | #define MO_SET_TARGET_PGS 0x0a | 165 | #define MO_SET_TARGET_PGS 0x0a |
166 | #define MO_CHANGE_ALIASES 0x0b | ||
167 | #define MO_SET_PRIORITY 0x0e | ||
168 | #define MO_SET_TIMESTAMP 0x0f | ||
169 | #define MO_MANAGEMENT_PROTOCOL_OUT 0x10 | ||
136 | /* values for variable length command */ | 170 | /* values for variable length command */ |
171 | #define XDREAD_32 0x03 | ||
172 | #define XDWRITE_32 0x04 | ||
173 | #define XPWRITE_32 0x06 | ||
174 | #define XDWRITEREAD_32 0x07 | ||
137 | #define READ_32 0x09 | 175 | #define READ_32 0x09 |
138 | #define VERIFY_32 0x0a | 176 | #define VERIFY_32 0x0a |
139 | #define WRITE_32 0x0b | 177 | #define WRITE_32 0x0b |
@@ -397,6 +435,10 @@ static inline int scsi_is_wlun(unsigned int lun) | |||
397 | * recover the link. Transport class will | 435 | * recover the link. Transport class will |
398 | * retry or fail IO */ | 436 | * retry or fail IO */ |
399 | #define DID_TRANSPORT_FAILFAST 0x0f /* Transport class fastfailed the io */ | 437 | #define DID_TRANSPORT_FAILFAST 0x0f /* Transport class fastfailed the io */ |
438 | #define DID_TARGET_FAILURE 0x10 /* Permanent target failure, do not retry on | ||
439 | * other paths */ | ||
440 | #define DID_NEXUS_FAILURE 0x11 /* Permanent nexus failure, retry on other | ||
441 | * paths might yield different results */ | ||
400 | #define DRIVER_OK 0x00 /* Driver status */ | 442 | #define DRIVER_OK 0x00 /* Driver status */ |
401 | 443 | ||
402 | /* | 444 | /* |
@@ -426,6 +468,7 @@ static inline int scsi_is_wlun(unsigned int lun) | |||
426 | #define TIMEOUT_ERROR 0x2007 | 468 | #define TIMEOUT_ERROR 0x2007 |
427 | #define SCSI_RETURN_NOT_HANDLED 0x2008 | 469 | #define SCSI_RETURN_NOT_HANDLED 0x2008 |
428 | #define FAST_IO_FAIL 0x2009 | 470 | #define FAST_IO_FAIL 0x2009 |
471 | #define TARGET_ERROR 0x200A | ||
429 | 472 | ||
430 | /* | 473 | /* |
431 | * Midlevel queue return values. | 474 | * Midlevel queue return values. |