linux/include/scsi
John Garry 11ea1de3fc scsi: core: Introduce .queue_reserved_command()
Reserved commands will be used by SCSI LLDs for submitting internal
commands. Since the SCSI host, target and device limits do not apply to
the reserved command use cases, bypass the SCSI host limit checks for
reserved commands. Introduce the .queue_reserved_command() callback for
reserved commands. Additionally, do not activate the SCSI error handler
if a reserved command fails such that reserved commands can be submitted
from inside the SCSI error handler.

[ bvanassche: modified patch title and patch description. Renamed
  .reserved_queuecommand() into .queue_reserved_command(). Changed
  the second argument of __blk_mq_end_request() from 0 into error
  code in the completion path if cmd->result != 0. Rewrote the
  scsi_queue_rq() changes. See also
  https://lore.kernel.org/linux-scsi/1666693096-180008-5-git-send-email-john.garry@huawei.com/ ]

Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://patch.msgid.link/20251031204029.2883185-6-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2025-11-12 17:02:31 -05:00
..
fc scsi: libfc: Replace one-element arrays with flexible-array members 2022-02-27 21:17:37 -05:00
fc_frame.h scsi: libfc: Move scsi/fc_encode.h to libfc 2020-10-29 21:49:25 -04:00
fcoe_sysfs.h scsi: fcoe: Simplify alloc_ordered_workqueue() invocations 2024-08-22 21:28:56 -04:00
iscsi_if.h scsi: iscsi: Add support for asynchronous iSCSI session destruction 2020-03-11 23:07:57 -04:00
iscsi_proto.h scsi: Fix spelling mistakes in header files 2021-05-21 17:22:45 -04:00
iser.h scsi: iser: Fix @read_stag kernel-doc warning 2024-04-08 22:10:06 -04:00
libfc.h scsi: Rename .slave_alloc() and .slave_destroy() 2024-12-04 15:34:28 -05:00
libfcoe.h scsi: libfcoe: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:03 +02:00
libiscsi.h scsi: iscsi: Declare SCSI host template const 2023-03-24 19:19:57 -04:00
libiscsi_tcp.h scsi: iscsi_tcp: Switch to using the crc32c library 2025-02-12 22:05:10 -05:00
libsas.h SCSI misc on 20251002 2025-10-03 19:17:48 -07:00
sas.h scsi: libsas: Introduce struct smp_rps_resp 2022-06-10 13:08:06 -04:00
sas_ata.h scsi: libsas: Move declarations of internal functions to sas_internal.h 2025-07-25 09:03:57 -04:00
scsi.h scsi: core: Don't use "proxy" headers 2024-04-24 21:27:15 -04:00
scsi_bsg_iscsi.h scsi: bsg: Replace zero-length array with flexible array member 2024-12-04 13:04:42 -05:00
scsi_cmnd.h scsi: core: Fix the return value of scsi_logical_block_count() 2024-08-16 21:02:06 -04:00
scsi_common.h scsi: Add support for block PR read keys/reservation 2023-04-11 21:55:35 -04:00
scsi_dbg.h scsi: core: Do not declare scsi_cmnd pointers const 2025-10-21 21:11:35 -04:00
scsi_device.h scsi: core: Support allocating a pseudo SCSI device 2025-11-12 17:02:31 -05:00
scsi_devinfo.h scsi: core: Introduce the BLIST_SKIP_IO_HINTS flag 2024-06-13 21:03:13 -04:00
scsi_dh.h scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
scsi_driver.h SCSI misc on 20240514 2024-05-14 18:25:53 -07:00
scsi_eh.h scsi: core: Remove the cmd field from struct scsi_request 2022-03-01 22:21:49 -05:00
scsi_host.h scsi: core: Introduce .queue_reserved_command() 2025-11-12 17:02:31 -05:00
scsi_ioctl.h scsi: replace the fmode_t argument to scsi_ioctl with a simple bool 2023-06-12 08:04:04 -06:00
scsi_proto.h scsi: sd: Remove the stream_status member from scsi_stream_status_header 2025-05-12 22:16:10 -04:00
scsi_status.h scsi: core: Remove useless host error codes 2022-09-06 22:05:59 -04:00
scsi_tcq.h scsi: core: Only return started requests from scsi_host_find_tag() 2020-07-24 22:09:56 -04:00
scsi_transport.h scsi: core: Initialize scsi midlayer limits before allocating the queue 2024-04-11 21:37:48 -04:00
scsi_transport_fc.h scsi: scsi_transport_fc: Change to use per-rport devloss_work_q 2025-07-14 20:57:08 -04:00
scsi_transport_iscsi.h Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
scsi_transport_sas.h scsi: mpi3mr: Fix ATA NCQ priority support 2024-06-11 21:40:23 -04:00
scsi_transport_spi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_transport_srp.h scsi: scsi_transport_srp: Fix a couple of kernel-doc warnings 2024-04-08 22:10:06 -04:00
scsicam.h scsi: switch ->bios_param() to passing gendisk 2025-08-13 02:59:28 -04:00
sg.h scsi: core: Rename status_byte to sg_status_byte 2022-12-01 03:22:23 +00:00
srp.h RDMA/srp: Apply the __packed attribute to members instead of structures 2021-05-28 20:21:20 -03:00
viosrp.h scsi: ibmvscsis: Silence -Warray-bounds warning 2022-02-11 16:42:22 -05:00