Kernel Patch for Intel S3700, Intel 530...

diff --git a/drivers/scsi/sd.c b/drivers//scsi/sd.c

--- a/drivers/scsi/sd.c 2013-09-14 12:53:21.000000000 +0400

+++ b/drivers//scsi/sd.c        2013-12-19 21:43:29.000000000 +0400

@@ -137,6 +137,7 @@

       char *buffer_data;

       struct scsi_mode_data data;

       struct scsi_sense_hdr sshdr;

+      static const char temp[] = "temporary ";

       int len;

        if (sdp->type != TYPE_DISK)

@@ -144,6 +145,13 @@

                * can do it, but there's probably so many exceptions

                * it's not worth the risk */

               return -EINVAL;

+

+       if(strncmp(buf,temp,sizeof(temp) - 1 ) == 0) {

+               buf += sizeof(temp) - 1;

+               sdkp->cache_override = 1;

+       } else {

+               sdkp->cache_override = 0;

+       }

        for (i = 0; i < ARRAY_SIZE(sd_cache_types); i++) {

               const int len = strlen(sd_cache_types[i]);

@@ -157,6 +165,13 @@

               return -EINVAL;

       rcd = ct & 0x01 ? 1 : 0;

       wce = ct & 0x02 ? 1 : 0;

+

+       if(sdkp->cache_override){

+               sdkp->WCE = wce;

+               sdkp->RCD = rcd;

+               goto out;

+       }

+

       if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer), SD_TIMEOUT,

                           SD_MAX_RETRIES, &data, NULL))

               return -EINVAL;

@@ -174,6 +189,7 @@

                       sd_print_sense_hdr(sdkp, &sshdr);

               return -EINVAL;

       }

+out:

       revalidate_disk(sdkp->disk);

       return count;

}

@@ -1995,6 +2011,9 @@

       int old_wce = sdkp->WCE;

       int old_rcd = sdkp->RCD;

       int old_dpofua = sdkp->DPOFUA;

+

+       if(sdkp->cache_override)

+               return;

        if (sdp->skip_ms_page_8)

               goto defaults;

@@ -2416,6 +2435,7 @@

       sdkp->capacity = 0;

       sdkp->media_present = 1;

       sdkp->write_prot = 0;

+      sdkp->cache_override = 0;

       sdkp->WCE = 0;

       sdkp->RCD = 0;

       sdkp->ATO = 0;

diff -u a/drivers/scsi/sd.h b/drivers//scsi/sd.h

--- a/drivers/scsi/sd.h 2013-09-14 12:52:43.000000000 +0400

+++ b/drivers//scsi/sd.h        2013-12-19 16:52:25.000000000 +0400

@@ -71,6 +71,7 @@

       u8              provisioning_mode;

       unsigned        previous_state : 1;

       unsigned        ATO : 1;        /* state of disk ATO bit */

+      unsigned        cache_override : 1; /* temp override of WCE,RCD*/

       unsigned        WCE : 1;        /* state of disk WCE bit */

       unsigned        RCD : 1;        /* state of disk RCD bit, unused */

       unsigned        DPOFUA : 1;     /* state of disk DPOFUA bit */



2014/1/15 Mark Nelson <mark.nel...@inktank.com>

> On 01/15/2014 08:03 AM, Robert van Leeuwen wrote:
>
>> Power-Loss Protection:  In the rare event that power fails while the
>>> drive is operating, power-loss protection helps ensure that data isn’t
>>> corrupted.
>>>
>>
>> Seems that not all power protected SSDs are created equal:
>> http://lkcl.net/reports/ssd_analysis.html
>>
>> The m500 is not tested but the m4 is.
>>
>> Up to now it seems that only Intel seems to have done his homework.
>> In general they *seem* to be the most reliable SSD provider.
>>
>
> Even at that, there has been some concern on the list (and lkml) that
> certain older Intel drives without super-capacitors are ignoring
> ATA_CMD_FLUSH, making them very fast (which I like!) but potentially
> dangerous (boo!).  The 520 in particular is a drive I've used for a lot of
> Ceph performance testing but I'm afraid that if it's not properly handling
> CMD FLUSH requests, it may not be indicative of the performance folks would
> see on other drives that do.
>
> On the third hand, if drives with supercaps like the Intel DC S3700 can
> safely ignore CMD_FLUSH and maintain high performance (even when there are
> a lot of O_DSYNC calls, ala the journal), that potentially makes them even
> more attractive (and that drive already has relatively high sequential
> write performance and high write endurance).
>
>
>
>> Cheers,
>> Robert van Leeuwen
>>
>> _______________________________________________
>> ceph-users mailing list
>> ceph-users@lists.ceph.com
>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>
>>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>



-- 
С уважением, Фасихов Ирек Нургаязович
Моб.: +79229045757
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to