At some point the method of issuing Write Same for ATA drives changed. Currently write same is commonly available via SCT so expose the SCT capabilities and use SCT Write Same when it is available. This is useful for zoned based media that prefers to support discard with lbprz set, aka discard zeroes data by mapping discard operations to reset write pointer operations. Conventional zones that do not support reset write pointer can still honor the discard zeroes data by issuing a write same over the zone. It may also be nice to know if various controllers that currently disable WRITE SAME will work with the SCT Write Same code path: aacraid, arcmsr, megaraid, 3w-9xxx, 3w-sas, 3w-xxxx, gdth, hpsa, ips, megaraid, pmcraid, storvsc_drv This patch against v4.8-rc2 is also at https://github.com/stancheff/linux/tree/v4.8-rc2%2Bbiof.v9 git@xxxxxxxxxx:stancheff/linux.git v4.8-rc2+biof.v9 v6: - Fix bisect bug reported by Tom Yan <tom.ty89@xxxxxxxxx> - Change to use sg_copy_from_buffer as per Christoph Hellwig <hch@xxxxxx> - Added support for a sector_size descriptor other than 512 bytes. v5: - Addressed review comments - Report support for ZBC only for zoned devices. - kmap page during rewrite - Fix unmap set to require trim or error, if not unmap then sct write same or error. v4: - Added partial MAINTENANCE_IN opcode simulation - Dropped all changes in drivers/scsi/* - Changed to honor the UNMAP flag -> TRIM, no UNMAP -> SCT. v3: - Demux UNMAP/TRIM from WRITE SAME v2: - Remove fugly ata hacking from sd.c Shaun Tancheff (4): libata: Safely overwrite attached page in WRITE SAME xlat Add support for SCT Write Same SCT Write Same / DSM Trim SCT Write Same handle ATA_DFLAG_PIO drivers/ata/libata-scsi.c | 280 +++++++++++++++++++++++++++++++++++++++++----- include/linux/ata.h | 69 +++++++----- 2 files changed, 292 insertions(+), 57 deletions(-) -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html