diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-11 17:04:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-11 17:04:37 -0500 |
commit | d72d6f1b5647258e83819b51f72fe37e2b7d7965 (patch) | |
tree | d3a08af50624d9b3e2287367b7e9f5fcc93bdce5 /Documentation/cciss.txt | |
parent | 33ddcbbfb1d9f1bf1259531ae0ba8400ea3c8ba1 (diff) | |
parent | 8a87a0b6313109d2fea87b1271d497c954ce2ca8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6
Diffstat (limited to 'Documentation/cciss.txt')
-rw-r--r-- | Documentation/cciss.txt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 68a711fb82cf..15378422fc46 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt | |||
@@ -133,3 +133,32 @@ hardware and it is important to prevent the kernel from attempting to directly | |||
133 | access these devices too, as if the array controller were merely a SCSI | 133 | access these devices too, as if the array controller were merely a SCSI |
134 | controller in the same way that we are allowing it to access SCSI tape drives. | 134 | controller in the same way that we are allowing it to access SCSI tape drives. |
135 | 135 | ||
136 | SCSI error handling for tape drives and medium changers | ||
137 | ------------------------------------------------------- | ||
138 | |||
139 | The linux SCSI mid layer provides an error handling protocol which | ||
140 | kicks into gear whenever a SCSI command fails to complete within a | ||
141 | certain amount of time (which can vary depending on the command). | ||
142 | The cciss driver participates in this protocol to some extent. The | ||
143 | normal protocol is a four step process. First the device is told | ||
144 | to abort the command. If that doesn't work, the device is reset. | ||
145 | If that doesn't work, the SCSI bus is reset. If that doesn't work | ||
146 | the host bus adapter is reset. Because the cciss driver is a block | ||
147 | driver as well as a SCSI driver and only the tape drives and medium | ||
148 | changers are presented to the SCSI mid layer, and unlike more | ||
149 | straightforward SCSI drivers, disk i/o continues through the block | ||
150 | side during the SCSI error recovery process, the cciss driver only | ||
151 | implements the first two of these actions, aborting the command, and | ||
152 | resetting the device. Additionally, most tape drives will not oblige | ||
153 | in aborting commands, and sometimes it appears they will not even | ||
154 | obey a reset coommand, though in most circumstances they will. In | ||
155 | the case that the command cannot be aborted and the device cannot be | ||
156 | reset, the device will be set offline. | ||
157 | |||
158 | In the event the error handling code is triggered and a tape drive is | ||
159 | successfully reset or the tardy command is successfully aborted, the | ||
160 | tape drive may still not allow i/o to continue until some command | ||
161 | is issued which positions the tape to a known position. Typically you | ||
162 | must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example) | ||
163 | before i/o can proceed again to a tape drive which was reset. | ||
164 | |||