Hi Jérôme,

Am Mittwoch, 13. März 2013 schrieb Jérôme Poulin:
> On Tue, Mar 12, 2013 at 10:03 PM, Eric Sandeen <sand...@redhat.com> wrote:
> > [   37.176790] BTRFS error (device dm-0) in __btrfs_free_extent:5143:
> > IO failure [   37.176791] btrfs is forced readonly
> > [   37.176793] btrfs: run_one_delayed_ref returned -5
> 
> It seems the SSD has bad blocks now, BTRFS seems to abuse SSD disks, I
> burnt 1 SSD disk and 2 USB flash drive since I'm using BTRFS, in about
> 2 months for each. ddrescue'ing the SSD would probably give better
> chances of recovery and give BTRFS/btrfsck a chance to write correctly
> to the newly copied image.

Well, the Intel SSD 320 in this ThinkPad T520 so far didn´t seem to notice
any significant abuse due to BTRFS in use:

smartctl-a-2013-03-14
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       5250
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       202408
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203778

Above value has always been in that range… according to a PDF from Intel the 
Media_Wearout_Indicator below is important.

233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       202408


I have about 20 GB / on BTRFS since the beginning. Thats almost 2 years now.

Now I also have 200GB /home on BTRFS, since a month or two. Granted this is
more data, but unless proven by observed I/O patterns or so, I suggest
being careful with suggestions that BTRFS abuses SSD disks out of just your
own experience and suggest to ask it as a question in case you do not know
for sure.

According to my irregular data points I also see no significant increase in
wear out after I switched BTRFS to /home although it is a bit premature to
say for sure - I will continue to have a look at it:

martin@merkaba:~/Computer/Merkaba/Intel SSD 320> for F in $(ls smartctl*) ; do 
echo "$F" | cut -c1-21 ; egrep "(Wear|Host_Writes|Erase_Fail_Count|
Power_On_Hours)" "$F" ; done
smartctl-a-2011-05-19
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       0
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
smartctl-a-2011-05-19
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       1
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
smartctl-a-2011-06-23
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       324
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19158
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203342
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19158
smartctl-a-2011-06-23
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       324
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19158
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203342
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19158
smartctl-a-2011-06-23
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       325
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19160
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203342
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19160
smartctl-a-2011-06-23
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       320
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19041
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203342
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       19041
smartctl-a-2011-12-16
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       271

Mow thats funny. Intel SSD went back in time? From 325 to 271 power on
hours in half year. I knew I had a time machine somewhere. I just forgot
where it is. :)

172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169

First occurence with erase failures. But didn´t raise after then.

No other error related occurences in other values so far :)

225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66757
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203450
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66757
smartctl-a-2011-12-16
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       271
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66759
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203450
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66759
smartctl-a-2011-12-16
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       271
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66757
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203450
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       66757
smartctl-a-2012-07-19
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       2444
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       128105
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       314
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       128105
smartctl-a-2012-07-19
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       2443
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       127984
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       314
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       127984
smartctl-a-2012-07-30
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       2582
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       131072
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203604
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       131072
smartctl-a-2012-12-02
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       4023
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       170107
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203703
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       170107
smartctl-a-2013-02-22
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       5010
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       198165
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203768
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       198165
smartctl-a-2013-02-22
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       5010
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       198163
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203768
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       198163
smartctl-a-2013-03-14
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       
-       5250
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       
-       169
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       202408
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       
-       2203778
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   Always       
-       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   Always       
-       202408

More than one data point on one day, is before and after self tests.

Basically the wear out related values didn´t change much at all. The 
indicicative
Media_Wearout_Indicitor didn´t change at all.

I leave about 20 GB of the 300 GB free at most times, according to a paper
from Intel this helps long time performance and from my understanding of
SSD workings it also helps long evity.

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" 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