kernel-hacking-2024-linux-s.../include/scsi
Douglas Gilbert d15156138d block SG_IO: add SG_FLAG_Q_AT_HEAD flag
After the SG_IO ioctl was copied into the block layer and
later into the bsg driver, subtle differences emerged.

One difference is the way injected commands are queued through
the block layer (i.e. this is not SCSI device queueing nor SATA
NCQ). Summarizing:
  - SG_IO on block layer device: blk_exec*(at_head=false)
  - sg device SG_IO: at_head=true
  - bsg device SG_IO: at_head=true

Some time ago Boaz Harrosh introduced a sg v4 flag called
BSG_FLAG_Q_AT_TAIL to override the bsg driver default. A
recent patch titled: "sg: add SG_FLAG_Q_AT_TAIL flag"
allowed the sg driver default to be overridden. This patch
allows a SG_IO ioctl sent to a block layer device to have
its default overridden.

ChangeLog:
    - introduce SG_FLAG_Q_AT_HEAD flag in sg.h to cause
      commands that are injected via a block layer
      device SG_IO ioctl to set at_head=true
    - make comments clearer about queueing in sg.h since the
      header is used both by the sg device and block layer
      device implementations of the SG_IO ioctl.
    - introduce BSG_FLAG_Q_AT_HEAD in bsg.h for compatibility
      (it does nothing) and update comments.

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-07-01 10:48:05 -06:00
..
fc
fc_encode.h
fc_frame.h
fcoe_sysfs.h
iscsi_if.h
iscsi_proto.h
libfc.h
libfcoe.h
libiscsi.h Main batch of InfiniBand/RDMA changes for 3.15: 2014-04-03 16:57:19 -07:00
libiscsi_tcp.h [SCSI] libiscsi: Reduce locking contention in fast path 2014-03-15 10:19:18 -07:00
libsas.h libata, libsas: kill pm_result and related cleanup 2014-03-18 16:08:38 -04:00
libsrp.h
osd_attributes.h
osd_initiator.h
osd_ore.h
osd_protocol.h include/scsi/osd_protocol.h: remove unnecessary __constant 2014-06-02 10:36:27 +02:00
osd_sec.h
osd_sense.h
osd_types.h
sas.h
sas_ata.h
scsi.h
scsi_bsg_iscsi.h
scsi_cmnd.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-06-12 22:38:32 -07:00
scsi_dbg.h
scsi_device.h scsi: Make sure cmd_flags are 64-bit 2014-04-09 20:26:20 -06:00
scsi_devinfo.h
scsi_dh.h
scsi_driver.h scsi: reintroduce scsi_driver.init_command 2014-05-19 12:35:09 +02:00
scsi_eh.h
scsi_host.h [SCSI] add support for per-host cmd pools 2014-03-27 08:26:33 -07:00
scsi_ioctl.h
scsi_tcq.h
scsi_tgt.h
scsi_tgt_if.h
scsi_transport.h
scsi_transport_fc.h [SCSI] scsi_transport_fc: Add 32Gbps speed definition. 2014-03-15 10:17:50 -07:00
scsi_transport_iscsi.h SCSI/libiscsi: Add check_protection callback for transports 2014-03-17 22:33:58 -07:00
scsi_transport_sas.h
scsi_transport_spi.h
scsi_transport_srp.h scsi_transport_srp: Fix two kernel-doc warnings 2014-03-24 10:05:30 -07:00
scsicam.h
sg.h block SG_IO: add SG_FLAG_Q_AT_HEAD flag 2014-07-01 10:48:05 -06:00
srp.h