Andrea Mazzoleni
c843812bb0
Remove the requirement to snapshot content files
...
The new content file format now includes metadata for previous versions
of files. This allows the fix command to access historical file data from
snapshots as needed, ensuring recovery even if the live filesystem has
changed or the file was deleted during a sync.
2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
cd2ac8439f
Add Btrfs snapshot support for atomic sync and recovery consistency
2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
ee6acba9a9
New Btrfs support using IOCTLs to get UUID and low level devices
2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
b7dcf8659e
Enable lock file support on Windows using CreateFileW with exclusive share mode
2026-08-04 09:46:55 +02:00
Andrea Mazzoleni
81995ccc8d
Use eaccess() instead of access()
2026-05-21 16:08:03 +02:00
Andrea Mazzoleni
b32fa703ba
Import incomplete attributes from smartctl
2026-05-14 17:02:16 +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
1a55b23d8f
Fix warning in macOS
2026-03-30 10:07:11 +02:00
Andrea Mazzoleni
c153898c9a
Log devices mapping
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-03-16 12:43:23 +01:00
Andrea Mazzoleni
60c7b6baa3
New extra config option for additional disks to monitor
2026-03-11 16:05:39 +01:00
Andrea Mazzoleni
75ef786e29
Report stats also for low devices
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-03-03 12:41:16 +01:00
Andrea Mazzoleni
b3879f7f8e
Rework the portable support
2026-03-02 09:56:27 +01:00
Andrea Mazzoleni
ed15ad23a4
Report more NVME SMART attributes
2026-02-26 12:53:55 +01:00
Andrea Mazzoleni
f5c07e07f5
Detect more SMART attributes for SCSI/NVME
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-02-21 18:46:21 +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
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
f134201438
Log more information about the filesystems
2026-01-31 16:30:15 +01:00
Andrea Mazzoleni
9f081f9c22
Log the filesystem type and label
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-01-29 19:34:33 +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
c180015fdc
Less confusing names of smartctl flags
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
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
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
524733a6db
Make the stat tag a disk level
2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
986d7464b4
Add disk usage detection based on access counters
2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
ea53954b41
Rework attributes
2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
efcdfb9118
When logging device attributes, also provide the split information
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
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
ac986579d7
During cooldown keep spinning down any disk that is spun up
2025-10-26 12:03:31 +01: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
fedeb99bdc
Add a new probe command
...
Probe the power state of the disks in the system
2025-09-24 11:26:30 +02:00
Andrea Mazzoleni
8cef686d26
Adds a new smartignore option to ignore specific SMART attributes
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 Gelmini
2dacb15516
Fix typos
...
Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2022-07-21 14:48:48 +02: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
37b0064d60
Remove a build warning about major/minor defined in sysmacros.h
...
The new glibc 2.26 shows a warning if the code uses major/minor
from sys/types.h. Unfortunalte the autoconf macro used do not trigger
sysmacros.h inclusion because major/minor are already defined in sys/types.h.
2018-11-12 21:27:34 +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
04dfeea107
Tentative fix for major/minor missing
2017-01-04 00:44:20 +01:00
Andrea Mazzoleni
a90f8db3c0
Ingnore the SMART Command Timeout for Seagate SMR disks
2016-10-13 18:57:14 +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
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