@@ -54,13 +54,13 @@ invoking hostt->queuecommand() or the block layer will time it out.
5454^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5555
5656For all non-EH commands, scsi_done() is the completion callback. It
57- just calls blk_complete_request () to delete the block layer timer and
58- raise SCSI_SOFTIRQ
57+ just calls blk_mq_complete_request () to delete the block layer timer and
58+ raise BLOCK_SOFTIRQ.
5959
60- SCSI_SOFTIRQ handler scsi_softirq calls scsi_decide_disposition() to
61- determine what to do with the command. scsi_decide_disposition()
62- looks at the scmd->result value and sense data to determine what to do
63- with the command.
60+ The BLOCK_SOFTIRQ indirectly calls scsi_complete(), which calls
61+ scsi_decide_disposition() to determine what to do with the command.
62+ scsi_decide_disposition() looks at the scmd->result value and sense
63+ data to determine what to do with the command.
6464
6565 - SUCCESS
6666
@@ -110,7 +110,7 @@ The timeout handler is scsi_timeout(). When a timeout occurs, this function
110110 retry which failed), when retries are exceeded, or when the EH deadline is
111111 expired. In these cases Step #3 is taken.
112112
113- 3. scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD ) is invoked for the
113+ 3. scsi_eh_scmd_add(scmd) is invoked for the
114114 command. See [1-4] for more information.
115115
1161161.3 Asynchronous command aborts
@@ -277,7 +277,6 @@ scmd->allowed.
277277
278278 :ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd
279279
280- - scsi_setup_cmd_retry()
281280 - move from local eh_work_q to local eh_done_q
282281
283282 :LOCKING: none
@@ -317,7 +316,7 @@ scmd->allowed.
317316 ``scsi_eh_get_sense ``
318317
319318 This action is taken for each error-completed
320- (!SCSI_EH_CANCEL_CMD) commands without valid sense data. Most
319+ command without valid sense data. Most
321320 SCSI transports/LLDDs automatically acquire sense data on
322321 command failures (autosense). Autosense is recommended for
323322 performance reasons and as sense information could get out of
@@ -347,30 +346,6 @@ scmd->allowed.
347346 - otherwise
348347 No action.
349348
350- 3. If !list_empty(&eh_work_q), invoke scsi_eh_abort_cmds().
351-
352- ``scsi_eh_abort_cmds ``
353-
354- This action is taken for each timed out command when
355- no_async_abort is enabled in the host template.
356- hostt->eh_abort_handler() is invoked for each scmd. The
357- handler returns SUCCESS if it has succeeded to make LLDD and
358- all related hardware forget about the scmd.
359-
360- If a timedout scmd is successfully aborted and the sdev is
361- either offline or ready, scsi_eh_finish_cmd() is invoked for
362- the scmd. Otherwise, the scmd is left in eh_work_q for
363- higher-severity actions.
364-
365- Note that both offline and ready status mean that the sdev is
366- ready to process new scmds, where processing also implies
367- immediate failing; thus, if a sdev is in one of the two
368- states, no further recovery action is needed.
369-
370- Device readiness is tested using scsi_eh_tur() which issues
371- TEST_UNIT_READY command. Note that the scmd must have been
372- aborted successfully before reusing it for TEST_UNIT_READY.
373-
374349 4. If !list_empty(&eh_work_q), invoke scsi_eh_ready_devs()
375350
376351 ``scsi_eh_ready_devs ``
@@ -384,7 +359,7 @@ scmd->allowed.
384359
385360 For each sdev which has failed scmds with valid sense data
386361 of which scsi_check_sense()'s verdict is FAILED,
387- START_STOP_UNIT command is issued w/ start=1. Note that
362+ START STOP UNIT command is issued w/ start=1. Note that
388363 as we explicitly choose error-completed scmds, it is known
389364 that lower layers have forgotten about the scmd and we can
390365 reuse it for STU.
@@ -478,9 +453,6 @@ except for #1 must be implemented by eh_strategy_handler().
478453
479454 - shost->host_failed is zero.
480455
481- - Each scmd is in such a state that scsi_setup_cmd_retry() on the
482- scmd doesn't make any difference.
483-
484456 - shost->eh_cmd_q is cleared.
485457
486458 - Each scmd->eh_entry is cleared.
0 commit comments