Commit graph

136 commits

Author SHA1 Message Date
Andrea Mazzoleni
2bf0fcf97c Move string functions to new str.h and str.c files 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
4da1ab072b Move safe memory helper functions to dedicated memory.c and memory.h 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
bbcdb72a9f Introduce nalloc_nofail 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
8de159289a Fix strtrim to correctly trim strings containing only whitespace 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
4bbfdc43d9 Avoid 100% CPU utlization in thread_yield 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
aa53e9f4b7 Allocate minimum 1 byte in malloc_nofail when size is 0 to prevent process abort 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
133e527643 Add support for specifying case-insensitive SMART attribute names in the smartignore option 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
3c3d20601b Avoid some hardcoded string sizes 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
00b4cbafd0 Merge the CLI and Daemon portable interface 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
d6d1d6d3cd Skip spinup and spindown for non-rotational devices 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
f40b2decdb Further conversions from 32 to 64 bits 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
0df28e936f Secure the popen use 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
99530c9946 Automatically exclude the snapshot .snapraid directory and content files 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
54602422dd Change commenting style 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
2fc38017a8 Add Btrfs snapshot support for atomic sync and recovery consistency 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
af0b3c8451 Add a new informational error level for messages 2026-08-04 09:46:55 +02:00
Andrea Mazzoleni
96e20b3912 Switch esc_tag and path formatting to a contiguous thread-local circular pool to eliminate stack bloat
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-05-29 11:22:04 +02:00
Andrea Mazzoleni
3cdbc03a81 Avoid lock recursion in log_fatal if we cannot create locks 2026-05-21 10:31:03 +02:00
Andrea Mazzoleni
7680144e15 Relax overly strict comparison 2026-05-21 10:30:53 +02:00
Andrea Mazzoleni
4259a16931 Protect random reseeding with a lock 2026-05-21 10:30:35 +02:00
Andrea Mazzoleni
54d944c496 Handle failure of vfprintf 2026-05-21 10:30:25 +02:00
Andrea Mazzoleni
8749d0dfe3 Handle the cases of directory already create by another process 2026-05-21 10:30:14 +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
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-05-21 00:41:37 +02:00
Andrea Mazzoleni
88a6dd1e81 Cast to unsigned char when using ctype macros 2026-05-21 00:16:26 +02:00
Andrea Mazzoleni
8c8e100e01 Fix potential buffer overflow in strsplit 2026-05-16 18:21:33 +02:00
Andrea Mazzoleni
b32fa703ba Import incomplete attributes from smartctl 2026-05-14 17:02:16 +02:00
Andrea Mazzoleni
35b5c46851 Handle the case of posix_fadvise() returning ENOENT 2026-04-09 17:56:50 +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
53eb9bbcce Fix User Capacity
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-03-20 23:07:24 +01:00
Andrea Mazzoleni
51b2ae5358 Consider space as thousands separator
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-03-20 17:24:49 +01:00
Andrea Mazzoleni
d64b25631d Fix User Capacity 2026-03-20 17:19:33 +01:00
Andrea Mazzoleni
67086a4f45 Support multiple thousand separators 2026-03-20 14:44:47 +01:00
Andrea Mazzoleni
2b6281cd81 Fix importing of serial from smartctl 2026-03-20 11:16:06 +01:00
Andrea Mazzoleni
5bd592b85c Decode smartctl Average 2026-03-15 13:15:31 +01:00
Andrea Mazzoleni
e24b169488 Identify wear level by attribute name and not by attribute id
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-03-15 02:47:36 +01:00
Andrea Mazzoleni
b3879f7f8e Rework the portable support 2026-03-02 09:56:27 +01:00
Andrea Mazzoleni
21561e6cf9 More coverage test
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-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
ed15ad23a4 Report more NVME SMART attributes 2026-02-26 12:53:55 +01:00
Andrea Mazzoleni
18279f7346 Stop parsing numbers from smartctl after two consecutive commas
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-02-25 19:12:34 +01:00
Andrea Mazzoleni
077cf5de01 Detect more hardware errors 2026-02-24 08:39:50 +01:00
Andrea Mazzoleni
f5c07e07f5 Detect more SMART attributes for SCSI/NVME
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-02-21 18:46:21 +01:00
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