Commit graph

52 commits

Author SHA1 Message Date
Andrea Mazzoleni
20e9f7de41 Ignore fadvise if it return ENOSYS
This happens in ARM platform because fadvise is
differently implemented by the kernel and glibc
may not support it yet.
2016-10-23 22:03:02 +02:00
Andrea Mazzoleni
9d5bd3846a Fix reading of disk capacity from smartctl
In Windows the separator can be a space.
Like: "User Capacity:    2 000 398 934 016 bytes"
2016-10-13 19:13:18 +02:00
Andrea Mazzoleni
a90f8db3c0 Ingnore the SMART Command Timeout for Seagate SMR disks 2016-10-13 18:57:14 +02:00
Andrea Mazzoleni
faa530e83e Allow to change the output format
The new test option allows to restore the past
behaviour, just in case...
2016-10-11 20:30:12 +02:00
Andrea Mazzoleni
00cd931fad Add partial support for SCSI smart attributes
SCSI disks report information in a different way.
2016-10-05 00:12:26 +02:00
Andrea Mazzoleni
7d65eb83b1 Improve the discard-window write strategy
Now flush the window before discarding it in the previous
loop, following exactly the Linus advices.
2016-09-09 19:52:39 +02:00
Andrea Mazzoleni
56c129f825 Remove compiler warnings in Windows 2016-06-30 21:17:44 +02:00
Andrea Mazzoleni
dd87022490 Remove unnecessary prefix char in escaping
We can encode it at higher level.
2016-05-29 18:23:43 +02:00
Andrea Mazzoleni
256db0e595 Rename internal esc/quote functions
No functional change
2016-05-29 18:19:32 +02:00
Andrea Mazzoleni
20cd1f86f8 Fix typos in comments
No functional change.
2016-05-23 22:37:18 +02:00
Andrea Mazzoleni
3c6c5c07c7 More extensive use of data_off_t
This avoids the need of some type cast.
2016-05-18 20:58:41 +02:00
Andrea Mazzoleni
397c58c41e Add new IO window advise modes 2016-05-18 20:45:02 +02:00
Andrea Mazzoleni
21241c5078 Preliminary advise support 2016-05-15 14:50:59 +02:00
Andrea Mazzoleni
6053096862 Extend the split function to support multiple delimiters 2016-04-26 21:26:15 +02:00
Andrea Mazzoleni
4cc1109444 Add support for null device numbers
They are resolved using the mountinfo interface and
mapping them to the block device listed there.
2016-04-23 16:24:26 +02:00
Andrea Mazzoleni
36a4d24333 Source code beautification
Done with uncrustify.
2016-04-10 22:46:09 +02:00
Andrea Mazzoleni
8fbd8b35ea Add support for escaping in Windows with the '^' char 2016-03-05 12:05:11 +01:00
Andrea Mazzoleni
0707b1f446 Error check all the thread operations
No error is expected, and this enforces that expectation.
2016-02-13 16:05:19 +01:00
Andrea Mazzoleni
3c6a7bac3e Make the conditional variable signaling configurable at runtime
This allows to verify if the signaling outside the mutex gives
any performance improvment.
2016-02-13 16:05:19 +01:00
Andrea Mazzoleni
840ec7b1c3 Use precise quoting for the shell commands 2016-02-10 21:30:54 +01:00
Andrea Mazzoleni
12b30c198e Use a thread-safe esc() function with a local buffer 2016-02-09 23:12:33 +01:00
Andrea Mazzoleni
3040099e48 Optimizes console writes for Windows 2016-01-30 09:17:30 +01:00
Andrea Mazzoleni
34d02d4b41 Group print functions 2016-01-27 22:25:02 +01:00
Andrea Mazzoleni
c870b04b66 Refactor locks use in support 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
5249f9cb04 Fix various typos in comments 2016-01-02 16:52:20 +01:00
Andrea Mazzoleni
7ad70c26f8 Remove the need of helgrind/drd suppression
Using a mutex for protectign the global memory counter
should not affect performance.
2016-01-01 17:57:04 +01:00
Andrea Mazzoleni
c7ed079f79 More info in case of the "Path too long" message 2015-12-12 17:56:44 +01:00
Andrea Mazzoleni
448774fb8f Print also the too long path to help detection 2015-12-12 17:10:31 +01:00
Andrea Mazzoleni
7313e3d9d0 In case of the "Path too long" message prints the stacktrace 2015-12-12 17:10:28 +01:00
Andrea Mazzoleni
452a595067 Adjust verbs in comments 2015-10-07 22:07:20 +02:00
Andrea Mazzoleni
0c3bfb9b48 Remove coverage need for malloc failure functions 2015-10-04 23:17:17 +02:00
Andrea Mazzoleni
de0c437bd2 Put a clear separation between log and msg functions 2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
adbc74f862 Suppress missing file warnings if -m is specified 2015-04-19 21:21:49 +02:00
Andrea Mazzoleni
c34e3875e0 Minor change in log format 2015-04-11 22:59:58 +02:00
Andrea Mazzoleni
db3c417481 Log all the smartctl output 2015-04-11 07:43:12 +02:00
Andrea Mazzoleni
258ab45eef Add missing lock in msg_tag() call 2015-04-11 07:10:11 +02:00
Andrea Mazzoleni
0477ed36c6 Add lock protection at the output in all platforms 2015-04-09 21:22:14 +02:00
Andrea Mazzoleni
5f29608ebf Fix wrong pairing of va_start and va_end 2015-03-26 19:41:31 +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
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +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
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
60f0c2494f Add most of the stdout output also to stdlog 2015-02-07 16:57:36 +01:00
Andrea Mazzoleni
2ac751b6d9 Put all the stdout output also in stdlog 2015-02-03 19:35:43 +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
590d1aa51e Avoid to overuse va_arg more than one time 2015-02-03 08:10:22 +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
74026ddca8 Add smartctl_scan into support module 2015-01-24 22:50:42 +01:00
Andrea Mazzoleni
be6640b65f Add rotation rate in smart attribute 2015-01-24 22:37:37 +01:00