haiku/headers/private/drivers
David Sebek 8b1d35bdbb Improve SCSI and SATA trim support
Fixes:
* scsi: Fix a bug that caused the device capacity to be set
  to an undefined value for some large SCSI devices when
  READ CAPACITY (16) was used
* ahci: Fix VPD page reporting so that it does not return
  undefined values
* ahci: Set the write bit to true when sending a DATA SET
  MANAGEMENT (trim) command to a device. The command would
  otherwise fail and time out on some devices.

Improvements:
* scsi: Extend the READ CAPACITY (16) support to also
  include logical block provisioning information
* scsi: Prefer READ CAPACITY (16) over READ CAPACITY (10)
  on devices that are expected to support this command
* scsi, ahci: Enable trim on SCSI and SATA devices that
  are expected to support trim and which correctly report
  trim support
* ahci: Redo the implementation of the SCSI UNMAP command
* scsi: Redo UNMAP-related code
* scsi: Add support for UNMAP via WRITE SAME (10) and
  WRITE SAME (16) commands
* When copying trim ranges between different data types,
  make sure that the values don't change (detect overflows)
* Report the number of trimmed blocks even if the trim
  operation fails

Change-Id: Ie5fc993bbbc19546b4308138ba10184bf7b9986a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4157
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-16 18:35:57 +00:00
..
ata_adapter.h Reworked little endian bitfields a bit. 2015-11-10 08:47:48 +01:00
ata_types.h Reworked little endian bitfields a bit. 2015-11-10 08:47:48 +01:00
dvb.h Interface definition of DVB drivers. Currently private API. 2007-04-13 15:52:58 +00:00
ksocket.h Fixed ksocket header as we don't use a socket module anymore. 2008-04-19 23:58:26 +00:00
lendian_bitfield.h Reworked little endian bitfields a bit. 2015-11-10 08:47:48 +01:00
mmc.h mmc_disk: implement B_TRIM_DEVICE 2021-01-23 12:20:59 +00:00
poke.h Fixed some bugs, partially by Oscar Lesta. 2005-07-19 17:19:02 +00:00
random.h random: add a Virtio RNG module 2013-08-29 18:47:48 +02:00
scsi_cmds.h Improve SCSI and SATA trim support 2021-07-16 18:35:57 +00:00
scsi_periph.h Improve SCSI and SATA trim support 2021-07-16 18:35:57 +00:00
scsi_sense.h Revert "usb_disk: retry when usb disk not ready" 2013-10-19 22:06:10 +02:00
smbios.h smbios: add module to match SMBios vendor and product 2020-04-27 07:38:40 +00:00
tty.h * Set reasonable terminal flag defaults. This makes telnetd fully usable 2008-04-24 21:26:35 +00:00