linux/include/scsi
Martin K. Petersen 28a0bc4120 scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP
SBC-4 states:

  "A MAXIMUM UNMAP LBA COUNT field set to a non-zero value indicates the
   maximum number of LBAs that may be unmapped by an UNMAP command"

  "A MAXIMUM WRITE SAME LENGTH field set to a non-zero value indicates
   the maximum number of contiguous logical blocks that the device server
   allows to be unmapped or written in a single WRITE SAME command."

Despite the spec being clear on the topic, some devices incorrectly
expect WRITE SAME commands with the UNMAP bit set to be limited to the
value reported in MAXIMUM UNMAP LBA COUNT in the Block Limits VPD.

Implement a blacklist option that can be used to accommodate devices
with this behavior.

Cc: <stable@vger.kernel.org>
Reported-by: Bill Kuzeja <William.Kuzeja@stratus.com>
Reported-by: Ewan D. Milne <emilne@redhat.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-10-02 22:16:18 -04:00
..
fc
fc_encode.h
fc_frame.h
fcoe_sysfs.h
iscsi_if.h
iscsi_proto.h
iser.h
libfc.h
libfcoe.h
libiscsi.h
libiscsi_tcp.h
libsas.h scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough 2017-08-29 21:51:45 -04:00
osd_attributes.h
osd_initiator.h
osd_ore.h
osd_protocol.h
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 'fixes' into misc 2017-09-07 12:12:43 -07:00
scsi_common.h
scsi_dbg.h
scsi_device.h scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP 2017-10-02 22:16:18 -04:00
scsi_devinfo.h scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP 2017-10-02 22:16:18 -04:00
scsi_dh.h
scsi_driver.h
scsi_eh.h
scsi_host.h scsi: Remove Scsi_Host.uspace_req_q 2017-09-05 08:18:42 -04:00
scsi_ioctl.h
scsi_proto.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-07-13 14:27:32 -07:00
scsi_request.h block: Change argument type of scsi_req_init() 2017-06-20 19:27:14 -06:00
scsi_tcq.h scsi: Use blk_mq_rq_to_pdu() to convert a request to a SCSI command pointer 2017-08-25 17:08:07 -04:00
scsi_transport.h
scsi_transport_fc.h scsi: fc: start decoupling fc_block_scsi_eh from scsi_cmnd 2017-08-07 14:04:02 -04:00
scsi_transport_iscsi.h
scsi_transport_sas.h scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough 2017-08-29 21:51:45 -04:00
scsi_transport_spi.h
scsi_transport_srp.h scsi: scsi_transport_srp: Suppress a W=1 compiler warning 2017-08-25 17:08:08 -04:00
scsicam.h
sg.h
srp.h
viosrp.h