>>>>> "Shaun" == Shaun Tancheff <sh...@tancheff.com> writes:

Shaun,

Shaun> SATA drives may support write same via SCT. This is useful for
Shaun> setting the drive contents to a specific pattern (0's).

index 428c03e..c5c8424 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -52,6 +52,7 @@
 #include <linux/slab.h>
 #include <linux/pm_runtime.h>
 #include <linux/pr.h>
+#include <linux/ata.h>
 #include <asm/uaccess.h>
 #include <asm/unaligned.h>
 
No ATA stuff in sd.c, please.


@@ -2761,24 +2762,26 @@ static void sd_read_write_same(struct scsi_disk *sdkp, 
unsigned char *buffer)
 {
        struct scsi_device *sdev = sdkp->device;
 
-       if (sdev->host->no_write_same) {
-               sdev->no_write_same = 1;
-
-               return;
-       }
-
        if (scsi_report_opcode(sdev, buffer, SD_BUF_SIZE, INQUIRY) < 0) {
-               /* too large values might cause issues with arcmsr */
-               int vpd_buf_len = 64;
-
                sdev->no_report_opcodes = 1;
 
                /* Disable WRITE SAME if REPORT SUPPORTED OPERATION
                 * CODES is unsupported and the device has an ATA
                 * Information VPD page (SAT).
                 */

The above comment tells you how to enable WRITE SAME in libata's
SCSI-ATA translation.


-               if (!scsi_get_vpd_page(sdev, 0x89, buffer, vpd_buf_len))
+               if (!scsi_get_vpd_page(sdev, 0x89, buffer, SD_BUF_SIZE))

That vpd_buf_len is intentional.

-- 
Martin K. Petersen      Oracle Linux Engineering
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to