freebsd-dev/sys/cam/scsi
Steven Hartland da98dc7f43 Added available delete methods discovery during device probe, including the
maximum sizes for said methods, which are used when processing BIO_DELETE
requests. This includes updating UNMAP support discovery to be based on
SBC-3 T10/1799-D Revision 31 specification.

Added ATA TRIM support to cam scsi devices via ATA Pass-Through(16)

sys/cam/scsi/scsi_da.c:
        - Added ATA Data Set Management TRIM support via ATA Pass-Through(16)
          as a delete_method

        - Added four new probe states used to identity available methods and their
          limits for the processing of BIO_DELETE commands via both UNMAP and the
          new ATA TRIM commands.

        - Renamed Probe states to better indicate their use

        - Added delete method descriptions used when informing user of issues.

        - Added automatic calculation of the optimum delete mode based on which
          method presents the largest maximum request size as this is most likely
          to result in the best performance.

        - Added WRITE SAME max block limits

        - Updated UNMAP range generation to mirror that used by ATA TRIM, this
          optimises the generation of ranges and fixes a potential overflow
          issue in the count when combining multiple BIO_DELETE requests

        - Added output of warnings about short deletes. This should only ever
          be triggered on devices that fail to correctly advertise their supported
          delete modes / max sizes.

        - Fixed WS16 requests being incorrectly limited to 65535 in length.

Reviewed by:	mav
Approved by:	pjd (mentor)
MFC after:	2 weeks
2013-04-26 16:17:04 +00:00
..
scsi_all.c Refactored scsi_xpt use of device_has_vpd to generic scsi_vpd_supported_page 2013-04-26 16:11:03 +00:00
scsi_all.h Refactored scsi_xpt use of device_has_vpd to generic scsi_vpd_supported_page 2013-04-26 16:11:03 +00:00
scsi_cd.c MFprojects/camlock r248890, r248897, r248898, r248900, r248903, r248905, 2013-04-14 09:28:14 +00:00
scsi_cd.h
scsi_ch.c Fix compilation. 2013-04-20 14:33:55 +00:00
scsi_ch.h Update chio(1) and ch(4) to support reporting element designators. 2013-04-19 20:03:51 +00:00
scsi_da.c Added available delete methods discovery during device probe, including the 2013-04-26 16:17:04 +00:00
scsi_da.h Change 'camcontrol defects' to first probe a drive to find out how much 2012-06-22 18:57:06 +00:00
scsi_dvcfg.h
scsi_enc_internal.h Fix a device departure bug for the the pass(4), enc(4), sg(4) and ch(4) 2012-12-08 04:03:04 +00:00
scsi_enc_safte.c 1. Remove SEN support. I doubt there are any working examples 2012-08-12 17:01:07 +00:00
scsi_enc_ses.c Sanitize the element descriptor string before using it as a device name. 2013-01-24 17:28:39 +00:00
scsi_enc.c Fix a device departure bug for the the pass(4), enc(4), sg(4) and ch(4) 2012-12-08 04:03:04 +00:00
scsi_enc.h MFprojects/zfsd: 2012-05-24 14:07:44 +00:00
scsi_iu.h
scsi_low.c Remove some more NetBSD compat shims and other unused bits from these 2012-09-10 18:49:49 +00:00
scsi_low.h Remove some more NetBSD compat shims and other unused bits from these 2012-09-10 18:49:49 +00:00
scsi_message.h
scsi_pass.c - Correct mispellings of the word occurrence 2013-04-17 11:40:10 +00:00
scsi_pass.h
scsi_pt.c Remove two more 'periph == NULL' checks missed in r241404. 2012-10-23 16:03:00 +00:00
scsi_pt.h
scsi_sa.c Remove 'periph == NULL' check from bunch of periph drivers. 2012-10-10 18:10:11 +00:00
scsi_sa.h
scsi_ses.h Fix off by one error in ses_enc_desc_last_byte(). 2012-07-24 13:32:49 +00:00
scsi_sg.c Fix a device departure bug for the the pass(4), enc(4), sg(4) and ch(4) 2012-12-08 04:03:04 +00:00
scsi_sg.h
scsi_targ_bh.c Add the CAM Target Layer (CTL). 2012-01-12 00:34:33 +00:00
scsi_target.c - Correct mispellings of the word occurrence 2013-04-17 11:40:10 +00:00
scsi_targetio.h
scsi_xpt.c Refactored scsi_xpt use of device_has_vpd to generic scsi_vpd_supported_page 2013-04-26 16:11:03 +00:00
smp_all.c Add Serial Management Protocol (SMP) passthrough support to CAM. 2010-11-30 22:39:46 +00:00
smp_all.h Add Serial Management Protocol (SMP) passthrough support to CAM. 2010-11-30 22:39:46 +00:00