freebsd-skq/sys/cam/scsi
Alexander Motin ee7f31c068 Add support for SCSI UNMAP commands to CTL.
This patch adds support for three new SCSI commands: UNMAP, WRITE SAME(10)
and WRITE SAME(16).  WRITE SAME commands support both normal write mode
and UNMAP flag.  To properly report UNMAP capabilities this patch also adds
support for reporting two new VPD pages: Block limits and Logical Block
Provisioning.

UNMAP support can be enabled per-LUN by adding "-o unmap=on" to `ctladm
create` command line or "option unmap on" to lun sections of /etc/ctl.conf.

At this moment UNMAP supported for ramdisks and device-backed block LUNs.
It was tested to work great with ZFS ZVOLs.  For file-backed LUNs UNMAP
support is unfortunately missing due to absence of respective VFS KPI.

Reviewed by:	ken
MFC after:	1 month
Sponsored by:	iXsystems, Inc
2014-04-08 20:50:48 +00:00
..
scsi_all.c When comparing device IDs, make sure that they have the same type 2013-12-08 20:43:01 +00:00
scsi_all.h Add support for SCSI UNMAP commands to CTL. 2014-04-08 20:50:48 +00:00
scsi_cd.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_cd.h
scsi_ch.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +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 Remove instances of variables that were set, but never used. gcc 4.9 2014-03-30 23:43:36 +00:00
scsi_da.h Add camcontrol support for the SCSI sanitize command 2013-09-06 15:19:57 +00:00
scsi_dvcfg.h
scsi_enc_internal.h Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_enc_safte.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_enc_ses.c Remove instances of variables that were set, but never used. gcc 4.9 2014-03-30 23:43:36 +00:00
scsi_enc.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_enc.h
scsi_iu.h
scsi_low.c Replace several instances of -1 with appropriate CAM_*_WILDCARD and types. 2014-01-10 12:18:05 +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 Remove instances of variables that were set, but never used. gcc 4.9 2014-03-30 23:43:36 +00:00
scsi_pass.h
scsi_pt.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_pt.h
scsi_sa.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +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 Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_sg.h
scsi_targ_bh.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_target.c Merge CAM locking changes from the projects/camlock branch to radically 2013-10-21 12:00:26 +00:00
scsi_targetio.h
scsi_xpt.c Fix for r260541: do not drop periph reference when request is restarted. 2014-01-11 16:37:20 +00:00
smp_all.c
smp_all.h