freebsd-dev/sys/cam/ata
Steven Hartland 9fe9ba5bef Teach GEOM and CAM about the difference between the max "size" of r/w and delete
requests.

sys/geom/geom_disk.h:
        - Added d_delmaxsize which represents the maximum size of individual
          device delete requests in bytes. This can be used by devices to
          inform geom of their size limitations regarding delete operations
          which are generally different from the read / write limits as data
          is not usually transferred from the host to physical device.

sys/geom/geom_disk.c:
        - Use new d_delmaxsize to calculate the size of chunks passed through to
          the underlying strategy during deletes instead of using read / write
          optimised values. This defaults to d_maxsize if unset (0).

        - Moved d_maxsize default up so it can be used to default d_delmaxsize

sys/cam/ata/ata_da.c:
        - Added d_delmaxsize calculations for TRIM and CFA

sys/cam/scsi/scsi_da.c:
        - Added re-calculation of d_delmaxsize whenever delete_method is set.

        - Added kern.cam.da.X.delete_max sysctl which allows the max size for
          delete requests to be limited. This is useful in preventing timeouts
          on devices who's delete methods are slow. It should be noted that
          this limit is reset then the device delete method is changed and
          that it can only be lowered not increased from the device max.

Reviewed by:	mav
Approved by:	pjd (mentor)
2013-04-26 16:22:54 +00:00
..
ata_all.c Remove two bzero()s that are erasing only few more bytes then set later. 2013-03-25 06:31:17 +00:00
ata_all.h Unbreak ATA_NO_48BIT_DMA with ATA_CAM by treating 48-bit DMA as an 2013-04-06 13:39:02 +00:00
ata_da.c Teach GEOM and CAM about the difference between the max "size" of r/w and delete 2013-04-26 16:22:54 +00:00
ata_pmp.c MFprojects/camlock r248894: 2013-04-13 14:03:44 +00:00
ata_xpt.c MFprojects/camlock r248982: 2013-04-14 09:55:48 +00:00