Skip to content

Commit 88e4506

Browse files
committed
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "Updates to the usual drivers (ufs, lpfc, fnic, qla2xx, mpi3mr). The major core change is the renaming of the slave_ methods plus a bit of constification. The rest are minor updates and fixes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (103 commits) scsi: fnic: Propagate SCSI error code from fnic_scsi_drv_init() scsi: fnic: Test for memory allocation failure and return error code scsi: fnic: Return appropriate error code from failure of scsi drv init scsi: fnic: Return appropriate error code for mem alloc failure scsi: fnic: Remove always-true IS_FNIC_FCP_INITIATOR macro scsi: fnic: Fix use of uninitialized value in debug message scsi: fnic: Delete incorrect debugfs error handling scsi: fnic: Remove unnecessary else to fix warning in FDLS FIP scsi: fnic: Remove extern definition from .c files scsi: fnic: Remove unnecessary else and unnecessary break in FDLS scsi: mpi3mr: Fix possible crash when setting up bsg fails scsi: ufs: bsg: Set bsg_queue to NULL after removal scsi: ufs: bsg: Delete bsg_dev when setting up bsg fails scsi: st: Don't set pos_unknown just after device recognition scsi: aic7xxx: Fix build 'aicasm' warning scsi: Revert "scsi: ufs: core: Probe for EXT_IID support" scsi: storvsc: Ratelimit warning logs to prevent VM denial of service scsi: scsi_debug: Constify sdebug_driver_template scsi: documentation: Corrections for struct updates scsi: driver-api: documentation: Change what is added to docbook ...
2 parents 949268e + 7d6f88e commit 88e4506

File tree

189 files changed

+10975
-3528
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+10975
-3528
lines changed

Documentation/driver-api/scsi.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Manage scsi_dev_info_list, which tracks blacklisted and whitelisted
126126
devices.
127127

128128
.. kernel-doc:: drivers/scsi/scsi_devinfo.c
129-
:internal:
129+
:export:
130130

131131
drivers/scsi/scsi_ioctl.c
132132
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -162,7 +162,6 @@ statistics and to pass information directly to the lowlevel driver. I.E.
162162
plumbing to manage /proc/scsi/\*
163163

164164
.. kernel-doc:: drivers/scsi/scsi_proc.c
165-
:internal:
166165

167166
drivers/scsi/scsi_netlink.c
168167
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -193,7 +192,7 @@ else, sequentially scan LUNs up until some maximum is reached, or a LUN
193192
is seen that cannot have a device attached to it.
194193

195194
.. kernel-doc:: drivers/scsi/scsi_scan.c
196-
:internal:
195+
:export:
197196

198197
drivers/scsi/scsi_sysctl.c
199198
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Documentation/scsi/scsi_eh.rst

Lines changed: 9 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ invoking hostt->queuecommand() or the block layer will time it out.
5454
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5555

5656
For 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

116116
1.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

Comments
 (0)