Commit graph

178 commits

Author SHA1 Message Date
Andrea Mazzoleni
6729e2d0eb Some minimal tags changes 2025-12-11 12:54:18 +01:00
Andrea Mazzoleni
d452b109bc More regression tests
Some checks are pending
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
9bc50f4e34 Avoid empty line in the cooldown output 2025-10-26 14:46:45 +01:00
Andrea Mazzoleni
6c1421f5a0 Change thermal defaults
Some checks are pending
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-17 10:07:51 +02:00
Andrea Mazzoleni
52ef48655f Improve and change the order of the user messages
The "Everything is OK" is now printed as latest one.
2025-10-13 13:51:18 +02:00
Andrea Mazzoleni
467fb8c1ac Don't print the "Nothing to do" if the state was updated
Some checks are pending
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-13 00:26:31 +02:00
Andrea Mazzoleni
c1e101699a Avoid stale messages on terminal to appear in new lines 2025-10-12 23:55:32 +02:00
Andrea Mazzoleni
adde997a38 Extend block time information to 64 bits
Some checks failed
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
Prevent potential timestamp overflow for the last write operation, which
could occur around 2106. The content format remains unchanged, as values are
expected to stay within the 32-bit range until then.
2025-10-08 13:02:24 +02:00
Andrea Mazzoleni
906d215bf5 Add thermal protection options: temp_limit and temp_sleep
Some checks failed
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
Some checks are pending
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
8cef686d26 Adds a new smartignore option to ignore specific SMART attributes
Some checks are pending
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-15 16:57:22 +02:00
Nasado
3c87474aa2 Use volume UUIDs on macOS 2025-02-13 11:21:26 +01:00
Andrea Mazzoleni
85ca997bf2 Fix integer overflow when computing the progress percentage 2024-01-03 20:20:39 +01:00
Andrea Mazzoleni
a605442c8c Fix typos in messages 2023-12-09 15:35:45 +01:00
saladpanda
978d812153
Fix error when configuring a contentfile in / (#18)
When using this config line:
content /snapraid.content
SnapRAID throws this error:
Error accessing 'content' dir '' specification in '/etc/snapraid.conf' at line 17

This commit fixes that by not replacing the rightmost slash with NUL but
instead the char immediately after the slash.
2023-10-20 10:24:54 +02:00
Andrea Mazzoleni
2c3f9b8364 Remove outdated comment 2021-11-29 17:42:52 +01:00
Andrea Mazzoleni
31699b1b2c Print only one Verifying message
There is no point to print them all at the same time.
2021-11-29 17:40:40 +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
ec7c4de3c9 Fix check for division by 0 2021-05-24 19:47:05 +02:00
Andrea Mazzoleni
cb8b3dc804 Print a new Selecting... stage to get an idea of the time spent on it 2021-05-22 10:14:53 +02:00
Andrea Mazzoleni
b74731d853 Use stripe as more correct definition 2021-05-22 08:50:30 +02:00
Andrea Gelmini
986e9b4131 Fix typos 2020-05-26 12:50:15 +02:00
Andrea Mazzoleni
a8242e4cd8 Print block stats 2020-04-24 21:02:47 +02:00
Andrea Mazzoleni
b725333a49 Add MetroHash128 for speed measurement 2020-04-24 21:02:45 +02:00
Andrea Mazzoleni
f0e7170009 Print the time needed for state verification 2019-11-16 08:41:43 +01:00
Andrea Mazzoleni
19c75877f1 Allow the --force-device option to work with smart/up/down/devices 2019-05-05 09:17:05 +02:00
Andrea Mazzoleni
f8d86abf4f Automatically fix any scrub date that is in the future 2018-09-25 22:19:39 +02:00
Andrea Mazzoleni
294a0ae90d Fix future scrub times 2018-09-25 22:02:14 +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
701b0e67e1 Change the default advise mode to "discard"
This avoids to swap out other process memory.
2017-11-24 22:17:28 +01:00
Andrea Mazzoleni
b9740e06f4 Print filenames in the stats screen 2017-11-24 22:17:24 +01:00
Andrea Mazzoleni
713a8138c0 Minor formatting changes 2017-11-03 23:46:45 +01:00
Andrea Mazzoleni
f778fb691f Apply new hardlink behaviour also to NTFS in nix platforms
This is a specific NTFS behaviour, not limited to Windows.
2017-10-29 18:43:53 +01:00
Andrea Mazzoleni
5f137fae9a Print a warning about content files in the same disk 2017-09-17 18:44:33 +02:00
Andrea Mazzoleni
761ede567a Fix check to ignore unused parity blocks 2017-03-26 18:38:52 +02:00
Andrea Mazzoleni
47b571790a Allow adding new splits when using content file with 'P' command 2017-03-26 12:02:18 +02:00
Andrea Mazzoleni
0ed1d0afed Recognize the correct "hashsize" field in the configuration
The wrong "hash_size" is still supported for backward compatibility.
2017-01-09 18:51:05 +01:00
Andrea Mazzoleni
e650029141 Ensure to overwrite the latest status line 2016-12-22 15:51:25 +01:00
Andrea Mazzoleni
d5308f4a59 Explain because log_fatal() is used 2016-12-05 18:46:32 +01:00
Andrea Mazzoleni
6f16cddd5b Rename string functions to avoid variable shadow 2016-11-06 16:06:26 +01:00
Andrea Mazzoleni
b1fc75adab Make -F to not reallocate parity
This is now done by the new -R option.
2016-10-01 22:19:29 +02:00
Andrea Mazzoleni
51c60ebcdd Make the message of data accessed more clear 2016-09-30 18:38:29 +02:00
Andrea Mazzoleni
00e1ca5997 Enforce a check on the content parity level
This to avoid that damaged files cause a crash.
2016-07-26 20:56:21 +02:00
Andrea Mazzoleni
be7fd4888a Allow to add and remove new parity split
We now assume correct the input from the configuration
and the content file is adapted to it, but only if it's
without losing info.
2016-06-26 00:13:20 +02:00
Andrea Mazzoleni
b3cc9192cd Don't print disk dir in info 2016-05-29 19:23:42 +02:00
Andrea Mazzoleni
20cd1f86f8 Fix typos in comments
No functional change.
2016-05-23 22:37:18 +02:00
Andrea Mazzoleni
f5d1afaaed Change the default advise mode to 'flush'
This is expected to fix the problem reported in the
Forum about slow write due the big amount of RAM
that delay the write for a long time.
2016-05-18 20:45:05 +02:00
Andrea Mazzoleni
10a308396e Don't upgrade the content file to version 3 if possible
This avoids to make it incompatible with old versions.
2016-05-15 14:51:02 +02:00
Andrea Mazzoleni
21241c5078 Preliminary advise support 2016-05-15 14:50:59 +02:00