diff options
author | smh <smh@FreeBSD.org> | 2013-04-26 16:17:04 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2013-04-26 16:17:04 +0000 |
commit | 1ea74503ffd8a99053489e54715f57cb34bb9880 (patch) | |
tree | 04249c0125de2f5e426b1db114e6ab568cd25bd3 /sys/geom/geom_disk.c | |
parent | 2b4c1ee5e0d30d6e81f0475b0bf31a6bcddff76e (diff) | |
download | FreeBSD-src-1ea74503ffd8a99053489e54715f57cb34bb9880.zip FreeBSD-src-1ea74503ffd8a99053489e54715f57cb34bb9880.tar.gz |
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
Diffstat (limited to 'sys/geom/geom_disk.c')
0 files changed, 0 insertions, 0 deletions