Andrea Mazzoleni
696ee97754
Log full SMART attributes
2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
5e98164b64
Log the real raw value of SMART temperature
2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
a31bba2e45
Fix temperature gathering
2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
2019aa4bb6
Log the normalized, worst and threshold value of SMART attributes
2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
d3c5521d21
Log the new temperature attribute for all devices
2026-02-09 14:39:19 +01:00
Andrea Mazzoleni
e2d2ddbf67
Fix typo in the interface code
2026-02-02 09:17:04 +01:00
Andrea Mazzoleni
d3f7bf64c1
Differentiate messages in the log files if they are caused by an hardware issue
2026-02-01 20:44:36 +01:00
Andrea Mazzoleni
5a5668851d
Log the interface of the device
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-01-29 17:06:10 +01:00
Andrea Mazzoleni
3e62e22411
Beautification with unscrustify
2026-01-26 09:42:03 +01:00
Andrea Mazzoleni
a7cae2707f
Always trim family/serial/model
2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
ede99cbe80
Added wear level percentage to the SMART report
2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
e99f43c8ca
Log both protocol and medium errors
2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
b29500c25f
Update beautification with uncrustify
2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
9f14dd94e5
Add support for ** in the patterns
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
2026-01-11 15:48:36 +01:00
Andrea Mazzoleni
36cef9ee89
New .snapraidignore feature
2026-01-11 12:07:01 +01:00
Andrea Mazzoleni
be3e3673fd
Use proper family variable name instead of vendor
2026-01-11 12:01:12 +01:00
Andrea Mazzoleni
13fae39eb3
New pseudo random number generator
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
2026-01-06 09:34:29 +01:00
Andrea Mazzoleni
d46a2402b6
Beautify code with uncrustify
2026-01-05 15:59:03 +01:00
Andrea Mazzoleni
ea53954b41
Rework attributes
2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
0367b2810a
Retrieve some attributes directly from the system
2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
1f17ceca84
Log disk information info also in probe
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
2025-12-18 18:49:52 +01:00
Andrea Mazzoleni
1759716734
Fix importing of vendor/model from smartctl
2025-12-18 15:40:04 +01:00
Andrea Mazzoleni
d452b109bc
More regression tests
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
2025-10-28 12:15:50 +01:00
Andrea Mazzoleni
8ae0599c64
Fix quoting for printed file paths
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
2025-10-27 01:07:38 +01:00
Andrea Mazzoleni
21acc31bf1
Beautify code with uncrustify
2025-10-26 18:11:45 +01:00
Andrea Mazzoleni
c1e101699a
Avoid stale messages on terminal to appear in new lines
2025-10-12 23:55:32 +02:00
Andrea Mazzoleni
649b3f1f0b
Remove the SMART attribute 193 from the failure probability computation
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
2025-09-29 16:25:49 +02:00
Andrea Mazzoleni
906d215bf5
Add thermal protection options: temp_limit and temp_sleep
...
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Introduce two new configuration directives to protect disks from overheating:
- temp_limit <TEMPERATURE_CELSIUS>
Sets the maximum allowed disk temperature. When any disk exceeds this limit,
SnapRAID stops all operations and spins down the disks.
- temp_sleep <TIME_IN_MINUTES>
Specifies how long disks remain in standby after a temperature event.
Defaults to 15 minutes.
These options allow SnapRAID to automatically pause activity and cool down
disks when a temperature threshold is reached, improving data safety and
hardware longevity.
2025-09-27 16:05:05 +02:00
Andrea Mazzoleni
30474cfb80
Ensure that writer buffers are flushed before synchronizing parity writes
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
2025-09-25 15:32:34 +02:00
Andrea Mazzoleni
5ad7f9acfc
Use POSIX_FADV_NOREUSE to avoid page-cache pollution
...
This adds support for POSIX_FADV_NOREUSE, which advises the kernel not to
cache read data. It's available starting from Linux kernel 6.3.
To maintain compatibility with older kernels, POSIX_FADV_DONTNEED is still
used.
2025-05-08 09:18:50 +02:00
Andrea Mazzoleni
a605442c8c
Fix typos in messages
2023-12-09 15:35:45 +01:00
Andrea Mazzoleni
02d170c004
Remove all scan buffers from the stack
...
This reduces even more the stack utilization.
2022-01-09 10:23:09 +01:00
Andrea Mazzoleni
53801b407a
Remove the need of the MingW pthread layer on the Windows port
...
Now everything is implemented usign Windows native calls.
2021-05-26 00:21:52 +02:00
Andrea Gelmini
986e9b4131
Fix typos
2020-05-26 12:50:15 +02:00
Andrea Mazzoleni
5bac3d64a6
Fix build errors due new gcc 10 default for -fno-common
2020-05-18 15:28:55 +02:00
Andrea Mazzoleni
17bec43be2
Set time of pool links
...
This avoid index refresh from various applications.
2017-05-01 16:07:04 +02:00
Andrea Mazzoleni
1681f7c9c7
Fix quoting in Linux
...
We cannot quote UTF-8 chars.
2017-02-24 22:26:35 +01:00
Andrea Mazzoleni
6f16cddd5b
Rename string functions to avoid variable shadow
2016-11-06 16:06:26 +01:00
Andrea Mazzoleni
d65450dda8
Don't allow ENOSYS for fadvise(DONT_NEED)
...
We want to know if it's failing. In case, a different
advise method has to be used.
2016-10-29 08:08:52 +02:00
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