Andrea Mazzoleni
7ac780c0ea
Introduce nalloc_nofail
2026-07-13 11:03:57 +02:00
Andrea Mazzoleni
3ce5a5b4e5
Merge the CLI and Daemon portable interface
2026-07-13 11:03:57 +02:00
Andrea Mazzoleni
db20376bca
Refactor portable support
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
5aa1563675
Further conversions from 32 to 64 bits
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
2ffc1011c6
Secure the popen use
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
cf1508489f
Automatically exclude the snapshot .snapraid directory and content files
2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
e9871d65ff
Add Btrfs snapshot support for atomic sync and recovery consistency
2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
96e20b3912
Switch esc_tag and path formatting to a contiguous thread-local circular pool to eliminate stack bloat
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
2026-05-29 11:22:04 +02:00
Andrea Mazzoleni
1aa808a106
Comment about the value returned by malloc_counter_get()
2026-05-21 10:30:04 +02:00
Andrea Mazzoleni
65a20f48c6
Ensure to advising the remaining of the file when it's closed
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-05-21 00:41:37 +02:00
Andrea Mazzoleni
0d0431a907
Simpler Copyright string
2026-04-09 17:56:49 +02:00
Christoph Hellwig
60269a1236
Use SPDX ( https://spdx.dev/ ) tags to identify the license used for each
...
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
2026-04-02 16:01:37 +02:00
Andrea Mazzoleni
ea5f8d0f5f
Fix filter matching of directory specifications
2026-04-01 00:32:07 +02:00
Andrea Mazzoleni
21561e6cf9
More coverage test
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-02-28 18:13:11 +01:00
Andrea Mazzoleni
d451f911c7
Reformat the code with new uncrustify.cfg
2026-02-27 00:39:22 +01:00
Andrea Mazzoleni
077cf5de01
Detect more hardware errors
2026-02-24 08:39:50 +01:00
Andrea Mazzoleni
696ee97754
Log full SMART attributes
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
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
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
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
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
21acc31bf1
Beautify code with uncrustify
2025-10-26 18:11:45 +01: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
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 Mazzoleni
5bac3d64a6
Fix build errors due new gcc 10 default for -fno-common
2020-05-18 15:28:55 +02:00
Andrea Mazzoleni
a873eee208
Improve parity fixing speed
2019-05-19 10:04:53 +02:00
Andrea Mazzoleni
473819467f
Improve crash resilience in Linux
...
Syncing the directory is a required step to ensure resilience.
Also create the temporary file with O_EXCL to ensure to don't
use a stale copy that may link to the original copy.
2018-06-04 22:19:10 +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
6f16cddd5b
Rename string functions to avoid variable shadow
2016-11-06 16:06:26 +01: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
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
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
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