Commit graph

1084 commits

Author SHA1 Message Date
Andrea Mazzoleni
abcdd688dd Improve snapshot fallback warning messages to inform users of reduced recovery capability if files changed since the last sync 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
b60979f293 Add raid_selftest() checks for all RAID modes in the test command 2026-08-25 12:13:21 +02:00
Andrea Mazzoleni
697ab3056e Extend selftest and fulltest with disk edge cases, polynomial checks, and comments 2026-08-25 10:59:33 +02:00
Andrea Mazzoleni
fd65dbd9ea Fix undefined behavior by making TommyDS foreach callback signatures take void*
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (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-08-24 23:03:00 +02:00
Andrea Mazzoleni
ae703ce68c Optimize multi-parity recovery with fused syndrome generation 2026-08-24 11:57:04 +02:00
Andrea Mazzoleni
a745a05d4e Add raid_test_tail to test recovery of tail disks across all array sizes up to 251 2026-08-21 12:06:40 +02:00
Andrea Mazzoleni
de7c06a01b Add statfs_type helper to avoid sign-compare warnings on 32-bit platforms 2026-08-21 12:06:26 +02:00
Andrea Mazzoleni
5c24968e6d Add AArch32 (ARM32) NEON SIMD support for parity generation and recovery 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
ecb26a6aee Fix raid_selftest() parity bounds and dispatch in Vandermonde mode 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
6fa2c44caf Add rec1of1 and rec2of2 benchmarks for first parity reconstruction 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
17591ad932 Add GFNI affine parity generation for RAID polynomial 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
b5d507fbe9 Use primitive generator 3 for AES Cauchy mode 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
15831064a1 Extend parent directory fsync after content file rename to all platforms 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni
6d4c4925f4 Add unsigned literal suffixes to constants 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni
dd04cbde7c Replace pointer casting with safe memcpy helpers in murmur3 and spooky 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni
b4634578ba Fix buffer over-read in argsplit when trailing backslash occurs inside double quotes 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni
a89b6f3126 Fix parse_option_size() to reject negative values, ERANGE errors, and suffix multiplication overflow. 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni
b3dc7e55c1 Use dedicated scriptcat() for cmd.exe batch parameter serialization in os_script() 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3c88559379 Quote empty arguments in Windows command line generation 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
7ab8aa69c4 Fix false persistent inode reporting on FAT/exFAT/FAT32 under Windows 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
9acce63c79 Fix import fetch fallback across matching hash candidates 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3b79e21c2f Document scan phase invariants 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
d5d999f11d Fix modified hardlink inode tracking during scan 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3dfab5232c Prevent partial fix from finalizing incomplete files 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
036b099eae Keep unrecoverable files quarantined until fix completion 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
65e6564e13 Clarify CHG block handling during interrupted sync recovery 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
b959f0056e Quiesce read-ahead before thermal spin-down 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
4423c8c895 Detect truncated parity using the contiguous valid physical prefix 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
ef6fa54ee2 Fix parity writer error propagation in io_flush and abort sync on parity write failures 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
fa0a77f84c Add missing esc_tag() in status and parity split log tags 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
e5246cc309 Fix io_flush_thread() to wait for in-flight writer tasks before returning 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
d592cccffb Set stream state to EOF in sfill when reaching stream size limit 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
d4ae953137 Fix sopen_write call signature in HAVE_MT_WRITE block by adding stream flags 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
9ef9155ccf Enforce content file CRC as terminal by rejecting trailing data and terminating parse loop 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
db34e93936 Check and report shared physical devices across array disks 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
b8ffdbd1f7 Propagate smartctl info options in Windows devtree and thermal monitoring 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
175649e236 Fix spinup and spindown failure when skipping non-rotational devices 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
55f0644004 Handle short read and pread operations in import and search paths 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
608393867a Fix undefined behavior in STREAM buffer bounds checking by avoiding out-of-bounds pointer arithmetic 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3185e1bf34 Fix undefined behavior in extent file comparison by casting pointers to uintptr_t 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
9c6e3952c5 Remove unused MetroHash implementation and references 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
87977f28f4 Harden PowerShell execution with safe SearchPathW and os_spawn 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
c1fa9e23b6 Remove legacy in-place mtime_nsec migration in multithread scanner 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
a8ffcec127 Accumulate ReadCount and WriteCount into 64-bit count in devstat 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
091e44afed Handle short writes and EINTR in sflush, handle_write, and parity_write 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
712b54ec98 Reject incomplete VPD page 0x80 instead of clamping page_len 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
8707c588a0 Fix 16-bit big-endian length parsing for SCSI VPD page 0x80 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
59f3086841 Track read-only handle fallback to report accurate write permission errors instead of EBADF 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
05778a9a46 Serialize bandwidth rate limiter sleep inside mutex to eliminate parallel worker stall waves 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
9c93cbfcaa Forward configuration file options to spindown on error 2026-08-18 23:33:58 +02:00