Lines Matching refs:EH
4 SCSI EH
13 [1] How SCSI commands travel through the midlayer and to EH
18 [1-3] How EH takes over
19 [2] How SCSI EH works
20 [2-1] EH through fine-grained callbacks
22 [2-1-2] Flow of scmds through EH
24 [2-2] EH through transportt->eh_strategy_handler()
30 1. How SCSI commands travel through the midlayer and to EH
39 per-device allocated scmd list and not of much interest to this EH
40 discussion. The latter is used for completion and EH lists and unless
56 For all non-EH commands, scsi_done() is the completion callback. It
110 retry which failed), when retries are exceeded, or when the EH deadline is
127 1.4 How EH takes over
130 scmds enter EH via scsi_eh_scmd_add(), which does the following.
138 4. Wakes up SCSI EH thread if shost->host_busy == shost->host_failed
148 shost->host_failed. This wakes up SCSI EH thread. So, once woken up,
149 SCSI EH thread can expect that all in-flight commands have failed and
161 We'll talk about how SCSI EH takes actions to abort - make LLDD
165 2. How SCSI EH works
168 LLDD's can implement SCSI EH actions in one of the following two
171 - Fine-grained EH callbacks
172 LLDD can implement fine-grained EH callbacks and let SCSI
181 Once recovery is complete, SCSI EH resumes normal operation by
196 2.1 EH through fine-grained callbacks
203 of driving error handling. EH's goals are two - make LLDD, host and
209 To achieve these goals, EH performs recovery actions with increasing
212 hostt EH callbacks. Callbacks may be omitted and omitted ones are
224 highest-severity action means EH failure and results in offlining of
240 - EH reuses failed scmds to issue commands for recovery. For
241 timed-out scmds, SCSI EH ensures that LLDD forgets about a scmd
242 before reusing it for EH commands.
244 When a scmd is recovered, the scmd is moved from eh_work_q to EH
251 EH), REQ_FAILFAST is not set and ++scmd->retries is less than
255 2.1.2 Flow of scmds through EH
268 2. EH starts
270 :ACTION: move all scmds to EH's local eh_work_q. shost->eh_cmd_q
278 :ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd
288 4. EH completes
307 EH through fine-grained callbacks start from scsi_unjam_host().
329 FAILED in such cases thus invoking SCSI EH. When the scmd
393 all failed scmds on the sdev are EH-finished with
399 scmds. Yet, this function EH-finish all scmds on the sdev
421 EH-finished.
429 all ready or offline sdevs on the host are EH-finished.
436 and EH-finish the scmds.
448 2.2 EH through transportt->eh_strategy_handler()
455 it should perform SCSI EH maintenance chores to maintain integrity of