Lines Matching refs:EH
2 SCSI EH
11 [1] How SCSI commands travel through the midlayer and to EH
16 [1-3] How EH takes over
17 [2] How SCSI EH works
18 [2-1] EH through fine-grained callbacks
20 [2-1-2] Flow of scmds through EH
22 [2-2] EH through transportt->eh_strategy_handler()
28 [1] How SCSI commands travel through the midlayer and to EH
35 per-device allocated scmd list and not of much interest to this EH
36 discussion. The latter is used for completion and EH lists and unless
50 For all non-EH commands, scsi_done() is the completion callback. It
123 [1-4] How EH takes over
125 scmds enter EH via scsi_eh_scmd_add(), which does the following.
136 5. Wakes up SCSI EH thread if shost->host_busy == shost->host_failed
146 shost->host_failed. This wakes up SCSI EH thread. So, once woken up,
147 SCSI EH thread can expect that all in-flight commands have failed and
159 We'll talk about how SCSI EH takes actions to abort - make LLDD
163 [2] How SCSI EH works
165 LLDD's can implement SCSI EH actions in one of the following two
168 - Fine-grained EH callbacks
169 LLDD can implement fine-grained EH callbacks and let SCSI
178 Once recovery is complete, SCSI EH resumes normal operation by
193 [2-1] EH through fine-grained callbacks
198 of driving error handling. EH's goals are two - make LLDD, host and
204 To achieve these goals, EH performs recovery actions with increasing
207 hostt EH callbacks. Callbacks may be omitted and omitted ones are
217 highest-severity action means EH failure and results in offlining of
233 - EH reuses failed scmds to issue commands for recovery. For
234 timed-out scmds, SCSI EH ensures that LLDD forgets about a scmd
235 before reusing it for EH commands.
237 When a scmd is recovered, the scmd is moved from eh_work_q to EH
244 EH), REQ_FAILFAST is not set and ++scmd->retries is less than
248 [2-1-2] Flow of scmds through EH
258 2. EH starts
259 ACTION: move all scmds to EH's local eh_work_q. shost->eh_cmd_q
265 ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd
272 4. EH completes
284 EH through fine-grained callbacks start from scsi_unjam_host().
306 FAILED in such cases thus invoking SCSI EH. When the scmd
370 all failed scmds on the sdev are EH-finished with
376 scmds. Yet, this function EH-finish all scmds on the sdev
398 EH-finished.
406 all ready or offline sdevs on the host are EH-finished.
413 and EH-finish the scmds.
425 [2-2] EH through transportt->eh_strategy_handler()
431 it should perform SCSI EH maintenance chores to maintain integrity of