Commit graph

53 commits

Author SHA1 Message Date
Andrea Mazzoleni
9d4fd25774 Avoid a float division by zero in testing
In the regression testing the fake probability goes
to 0, resulting in an impossible division.
2016-01-09 10:05:57 +01:00
Andrea Mazzoleni
5249f9cb04 Fix various typos in comments 2016-01-02 16:52:20 +01:00
Andrea Mazzoleni
c6526a1a97 Update SMART stats with BackBlaze data 2015 Q3 2015-10-14 21:52:35 +02:00
Andrea Mazzoleni
8de54cb863 Better testing with fake devices 2015-10-09 18:35:24 +02:00
Andrea Mazzoleni
452a595067 Adjust verbs in comments 2015-10-07 22:07:20 +02:00
Andrea Mazzoleni
ff28bc711c Recompute the SMART 193 table using a limit of 98%
This avoid to compute a very high failure rate for
very high values of the 193 attribute.
2015-04-30 21:43:01 +02:00
Andrea Mazzoleni
de0c437bd2 Put a clear separation between log and msg functions 2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
6c91927803 In "devices" command format the disk serial as 8 hex digits in Windows 2015-04-14 20:49:03 +02:00
Andrea Mazzoleni
f0fc3a8889 Some more change at smart log 2015-04-12 20:57:48 +02:00
Andrea Mazzoleni
69c80d0460 Change some output strings for "smart" command 2015-04-10 22:26:06 +02:00
Andrea Mazzoleni
8334ddc7c1 Log also the the SMART FLAGS returned by smartctl 2015-04-10 18:34:16 +02:00
Andrea Mazzoleni
827eb2117e Remove the 0x usage in log files 2015-04-10 18:30:06 +02:00
Andrea Mazzoleni
57b7d0be95 Drop hdparm use replaced by smartctl even for "down" command 2015-04-09 21:16:06 +02:00
Andrea Mazzoleni
214070dc4d Add support for a new "smartctl" config option
This option allows to configure custom smartctl
commands for devices that cannot be autodetected.
2015-04-08 22:56:44 +02:00
Andrea Mazzoleni
024b3f80fa Print failure rate also without rotation rate 2015-04-08 18:13:24 +02:00
Andrea Mazzoleni
1613ca1c86 Remove dependency to SMART 199 attribute
This is in general not an indication of disk failure,
but only a problem in communication with the controller.
After fixing that problem, the errors disappear, but the counter
cannot be zeroed.
2015-04-08 17:30:34 +02:00
Andrea Mazzoleni
9a10c94946 Retry smartctl command in Windows with -d sat if no info 2015-04-07 21:59:09 +02:00
Andrea Mazzoleni
bb76d48ace Update SMART 188 table after masking to 16 bit also on generation 2015-04-06 22:30:20 +02:00
Andrea Mazzoleni
36a05fe53a Mask the SMART values before using them
The 188 value for Seagate disk must use only the lower 16 bits,
others value are generally limited to 32 bits.
2015-04-06 17:10:28 +02:00
Andrea Mazzoleni
3dde106f6d Add extra testing for the new 'smart' command 2015-03-31 23:47:34 +02:00
Andrea Mazzoleni
529226087a Minor adjustment in the SMART status output info 2015-03-12 21:13:09 +01:00
Andrea Mazzoleni
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
fed3e8be1f Use shorter fake device names in Windows 2015-02-17 22:27:11 +01:00
Andrea Mazzoleni
14c8307ed4 Extend the "smart" and "down" command to Windows
Now we are able to detect what low level device is associated
to the high level volume.
2015-02-15 18:34:27 +01:00
Andrea Mazzoleni
f65ee373e5 Mark the disks recognized as SSD 2015-02-13 18:49:01 +01:00
Andrea Mazzoleni
ea07a7025e Escape path in the log file 2015-02-12 22:55:05 +01:00
Andrea Mazzoleni
bed594c8b0 New tables for estimating the failure probability 2015-02-08 21:00:47 +01:00
Andrea Mazzoleni
b55d2eb3b8 Remove the check for FLAG_COMMAND
In some USB enclosures some SMART commands may fail
but smartctl is still able to report data.
2015-02-08 15:24:39 +01:00
Andrea Mazzoleni
6c3e5e91fd Ensure that ferr() is a single line command 2015-02-03 00:01:42 +01:00
Andrea Mazzoleni
b5ce575981 Change the log and output handling
Now the log file contains all the errors messages,
and all the tag lines.
2015-02-02 23:39:46 +01:00
Andrea Mazzoleni
cd1186e434 Support the case of device not in smartctl database 2015-01-29 22:52:17 +01:00
Andrea Mazzoleni
a02ea3da76 Use the midpoint from Backblaze stats 2015-01-28 19:36:45 +01:00
Andrea Mazzoleni
d303ade101 Reduce the precision of SMART data point
We don't need so many digits...
2015-01-28 19:07:29 +01:00
Andrea Mazzoleni
705ed89d3e Make the "smart" command to fail in a prefail condition 2015-01-28 19:04:52 +01:00
Andrea Mazzoleni
e4d33e9d28 Remove a double % in the output 2015-01-28 18:50:08 +01:00
Andrea Mazzoleni
831779e506 Don't print the "not in stat" as not really clear 2015-01-26 18:24:12 +01:00
Andrea Mazzoleni
ebabaacfe9 Use a simpler smart attribute printing 2015-01-24 22:50:24 +01:00
Andrea Mazzoleni
be6640b65f Add rotation rate in smart attribute 2015-01-24 22:37:37 +01:00
Andrea Mazzoleni
57c501546e Remove printf without format specification 2015-01-24 19:16:42 +01:00
Andrea Mazzoleni
356c36cda0 Report the smartctl fail/prefail conditions 2015-01-24 17:55:59 +01:00
Andrea Mazzoleni
61117794b5 Print full stats only if verbose is specified 2015-01-24 14:10:51 +01:00
Andrea Mazzoleni
f974a8378b Add error control at the smart command 2015-01-23 22:59:29 +01:00
Andrea Mazzoleni
e0601593bd Add log support to smart command 2015-01-23 22:43:46 +01:00
Andrea Mazzoleni
6e02deb5d8 Adjust the "smart" output formatting. 2015-01-20 23:04:17 +01:00
Andrea Mazzoleni
41a496fe99 Add a new list count operation to TommyDS 2015-01-19 22:22:36 +01:00
Andrea Mazzoleni
c0970c02b3 Change to use the full scrub time in failure prediction
This take into account that you have to detect a failure
before fixing it.
2015-01-19 22:15:01 +01:00
Andrea Mazzoleni
d1363b02f3 Change to use the more common MTTDL model to predict failures 2015-01-19 22:10:58 +01:00
Andrea Mazzoleni
e3f9a7a866 Reformat the output of the "smart" command. 2015-01-18 22:34:18 +01:00
Andrea Mazzoleni
0e4b5053b9 Add basic stat analysis of the failure rate 2015-01-17 23:36:44 +01:00
Andrea Mazzoleni
1796d1cd01 Pad the SMART report to have it looks better 2015-01-16 18:55:27 +01:00