libata: add translation for SCSI WRITE SAME (aka TRIM support)
authorChristoph Hellwig <hch@infradead.org>
Tue, 17 Nov 2009 15:00:47 +0000 (10:00 -0500)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 3 Dec 2009 07:46:35 +0000 (02:46 -0500)
commit18f0f97850059303ed73b1f02084f55ca330a80c
tree6b3f91f521d3d35f864138bd7e8962eb346a09c4
parent6013efd8860bf15c1f86f365332642cfe557152f
libata: add translation for SCSI WRITE SAME (aka TRIM support)

Add support for the ATA TRIM command in libata.  We translate a WRITE SAME 16
command with the unmap bit set into an ATA TRIM command and export enough
information in READ CAPACITY 16 and the block limits EVPD page so that the new
SCSI layer discard support will driver this for us.

Note that I hardcode the WRITE_SAME_16 opcode for now as the patch to introduce
the symbolic is not in 2.6.32 yet but only in the SCSI tree - as soon as it is
merged we can fix it up to properly use the symbolic name.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-scsi.c
include/linux/ata.h