Commit graph

252 commits

Author SHA1 Message Date
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
55ad36d1a5 Add the "devices" command as an official one 2015-04-06 17:11:27 +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
35b1b08b6c Clean the cpu.h header 2015-03-30 23:36:36 +02:00
Andrea Mazzoleni
36061561cc Some more GiB to GB conversion 2015-03-29 23:18:30 +02:00
Andrea Mazzoleni
fb46313666 Use a simpler method to print disk space 2015-03-29 22:23:24 +02:00
Andrea Mazzoleni
3a4ce0b1e2 Use GB instead of GiB to be more consistent with HD size. 2015-03-29 22:18:21 +02:00
Andrea Mazzoleni
5f29608ebf Fix wrong pairing of va_start and va_end 2015-03-26 19:41:31 +01:00
Andrea Mazzoleni
1bbca4ca40 Remove impossible condition about io_error in hashing 2015-03-26 19:37:21 +01:00
Andrea Mazzoleni
21ce043725 Use manual line buffering for stdout/stderr.
This is needed for Windows where line buffering is not supported.
2015-03-23 22:57:36 +01:00
Andrea Mazzoleni
f48c0c3cd0 Rename raid_rec_dataonly() to raid_data() 2015-03-21 17:16:16 +01:00
Andrea Mazzoleni
eb5ac437b2 Review manpage about memory size 2015-03-13 19:34:45 +01:00
Andrea Mazzoleni
529226087a Minor adjustment in the SMART status output info 2015-03-12 21:13:09 +01:00
Andrea Mazzoleni
1c3000ae04 Use a better cpu detection
We now follow precisely the Intel documentation.
2015-03-09 22:28:51 +01:00
Andrea Mazzoleni
83d967e2c0 Change "diff" to return an error if a "sync" is required 2015-03-02 23:01:15 +01:00
Andrea Mazzoleni
76cb3d5b88 Fix printing of wasted space in "status" command 2015-03-01 19:20:03 +01:00
Andrea Mazzoleni
5812ec8bd8 Use standard smartctl.exe 2015-02-27 23:33:16 +01:00
Andrea Mazzoleni
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
fa5f31ddf9 Move stream implementation to a specific source file 2015-02-21 09:00:34 +01:00
Andrea Mazzoleni
d4a92f4918 Add additional regression test for streams 2015-02-20 19:07:19 +01:00
Andrea Mazzoleni
f6611557d0 Remove some override in reading the binary state.
They have no chance to work as a wrong blockmax would
unsych the stream.
2015-02-19 19:47:22 +01:00
Andrea Mazzoleni
84949d96da Add an extra CRC check on the data written to the streams
This is intented to detect memory errors during the processing.
2015-02-18 19:27:59 +01:00
Andrea Mazzoleni
87aa5d5e7b Add a memory test at the stream buffer 2015-02-18 19:17:48 +01:00
Andrea Mazzoleni
fed3e8be1f Use shorter fake device names in Windows 2015-02-17 22:27:11 +01:00
Andrea Mazzoleni
d37e0703c3 Run tools from exe dir in Windows 2015-02-16 23:38:34 +01:00
Andrea Mazzoleni
fa430adbfc Add a mutex for handling the UTF conversion. 2015-02-16 23:36:53 +01:00
Andrea Mazzoleni
cbf4d32d13 Change the MinGW target for x86.
This one support better the printf attribute format.
2015-02-16 19:22:59 +01:00
Andrea Mazzoleni
fba7cdcbe2 Fix the printf attribute for MingW 2015-02-16 18:42:52 +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
162d049bb9 Clearify some comments for Windows filesystem 2015-02-13 18:50:52 +01:00
Andrea Mazzoleni
894cd5ee70 In Windows spinup use CreteFile instead than FindFirst
It's just not possible to open the root dir with
FindFirstFile("C:\") or FindFirstFile("C:").
2015-02-13 18:49:46 +01:00
Andrea Mazzoleni
f65ee373e5 Mark the disks recognized as SSD 2015-02-13 18:49:01 +01:00
Andrea Mazzoleni
28dc9a6a7b Be more flexible when parsing smartctl output 2015-02-13 18:48:16 +01:00
Andrea Mazzoleni
ea07a7025e Escape path in the log file 2015-02-12 22:55:05 +01:00
Andrea Mazzoleni
8f2b148ff1 Extend the "Wasted" column to show space still to waste 2015-02-12 21:03:38 +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
60f0c2494f Add most of the stdout output also to stdlog 2015-02-07 16:57:36 +01:00
Andrea Mazzoleni
0a657cbdb0 Make the quiet option to hide the progress bar 2015-02-04 08:10:39 +01:00
Andrea Mazzoleni
2ac751b6d9 Put all the stdout output also in stdlog 2015-02-03 19:35:43 +01:00
Andrea Mazzoleni
3884af54ea Put the "Stopping" message into stderr 2015-02-03 18:53:23 +01:00
Andrea Mazzoleni
7954e9405f Disable stdlog if log file is not specified 2015-02-03 18:30:32 +01:00
Andrea Mazzoleni
798de7ca99 Change the flush logic for streams
Now stdout and stderr are always line buffered, and stdlog only
flushed on request.
2015-02-03 18:29:11 +01:00
Andrea Mazzoleni
80d51384ac Adjust some error messages in some commands 2015-02-03 18:12:52 +01:00
Andrea Mazzoleni
590d1aa51e Avoid to overuse va_arg more than one time 2015-02-03 08:10:22 +01:00