Commit graph

115 commits

Author SHA1 Message Date
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
4da11411f1 Always get the SMART info after a spinup 2026-02-02 18:00:14 +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
d6e4082b01 Get full SMART attributes in probe also in Windows
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 Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
2026-01-31 16:59:28 +01:00
Andrea Mazzoleni
9f081f9c22 Log the filesystem type and label
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 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
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 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
be3e3673fd Use proper family variable name instead of vendor 2026-01-11 12:01:12 +01:00
Andrea Mazzoleni
c4f01e9503 Retrieve disk attributes from the system also in Windows 2026-01-11 12:01:12 +01:00
Andrea Mazzoleni
13fae39eb3 New pseudo random number generator
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
2026-01-06 09:34:29 +01:00
Andrea Mazzoleni
ea53954b41 Rework attributes 2026-01-04 18:01:19 +01:00
Andrea Mazzoleni
67e4896671 Output the power mode with the attr: tag like other 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
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
2025-12-18 18:49:52 +01:00
Andrea Mazzoleni
30e329d4f3 More log_tags to make explicit the devices state 2025-12-18 14:48:43 +01:00
Andrea Mazzoleni
21acc31bf1 Beautify code with uncrustify 2025-10-26 18:11:45 +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
b549bffd4c Flush disks before the emergency spindown 2025-10-26 10:38:43 +01:00
Andrea Mazzoleni
d2671e7627 Ensure that in Windows the content rename operation is flushed to disk
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
2025-10-23 18:22:03 +02:00
Andrea Mazzoleni
c3d34734ae Spinup Windows disk with direct access at low level 2025-09-29 14:42:15 +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
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
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
Allan Clark
5886923bb1 Add bandwidth limit feature --bw-limit 2025-03-29 19:29:55 +01:00
Nasado
3c87474aa2 Use volume UUIDs on macOS 2025-02-13 11:21:26 +01:00
Andrea Mazzoleni
3ab8b43907 Fix build errors with new mingw compiler 2022-07-21 15:24:21 +02: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
2fe1f46752 Support file time before 1970 2022-02-18 07:11:46 +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
67f1f25259 Recognize the Windows ERROR_CRC(23) error 2018-02-25 10:21:07 +01:00
Andrea Mazzoleni
6a082b5d05 Recognize the Windows ERROR_IO_DEVICE
Convert it to EIO, without reporting te "Unexpected error" message.
2017-11-26 08:36:22 +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
74d689b149 Fix symlink time set in Windows
The link as to be opened with write permission for attributes.
2017-05-13 13:37:38 +02:00
Andrea Mazzoleni
e7d93f7f42 Better backward compatibility in symlink creation
The new flag may result in ERROR_INVALID_PARAMETER in old Windows.
2017-05-13 13:23:41 +02:00
Andrea Mazzoleni
0ca3496891 Sanitize the high performance counter in Windows
This avoids to report bad stats.
2017-05-01 16:07:07 +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
faa3ca9bf8 In Windows 10 allow creation of symlinks by unpriviliged user
It's a new feature of Windows 10 build 14972
2016-12-06 08:36:19 +01: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
97c01d35f4 Add basic support for ReFS
It works until the inode are 64 bit. Then it fails.
2016-10-05 08:38:22 +02:00
Andrea Mazzoleni
21241c5078 Preliminary advise support 2016-05-15 14:50:59 +02:00
Andrea Mazzoleni
2bebc5d953 Add fallocate in Windows and comment about its use 2016-05-15 14:27:35 +02:00
Andrea Mazzoleni
e760df8877 Reset all fields of the Windows overlapped struct
To be 100% compliant with MSDN.
2016-04-10 23:01:42 +02:00
Andrea Mazzoleni
36a4d24333 Source code beautification
Done with uncrustify.
2016-04-10 22:46:09 +02:00
Andrea Mazzoleni
8e2cb48ea7 Add alternatives for RtlGenRandom 2016-04-01 22:12:47 +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
86eaf8190f Use the native Windows thread support instead of pthread 2016-02-13 16:05:16 +01:00
Andrea Mazzoleni
6da3469fe7 When clearing the screen move the cursor to the top 2016-01-30 09:17:10 +01:00