Commit graph

61 commits

Author SHA1 Message Date
Andrea Mazzoleni
f564e9b91a Preliminary support for multiple parity files
This allows to split parity in different partitions.
2016-05-15 14:27:33 +02:00
Andrea Mazzoleni
36a4d24333 Source code beautification
Done with uncrustify.
2016-04-10 22:46:09 +02:00
Andrea Mazzoleni
12b30c198e Use a thread-safe esc() function with a local buffer 2016-02-09 23:12:33 +01:00
Andrea Mazzoleni
104f8b065e Be more explicit if smart/down is not supported 2016-02-06 10:24:29 +01:00
Andrea Mazzoleni
34d02d4b41 Group print functions 2016-01-27 22:25:02 +01:00
Andrea Mazzoleni
846c02e2c1 Preliminary usage graph 2016-01-26 23:47:59 +01:00
Andrea Mazzoleni
6f004d13ce Allow -d, --disk in 'up' and 'down' 2016-01-23 15:31:30 +01:00
Andrea Mazzoleni
adbf4f25c2 Allow 'smart' without a configuration file 2016-01-18 22:36:06 +01:00
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