Commit graph

1090 commits

Author SHA1 Message Date
Andrea Mazzoleni
1123b3eca0 Fix deallocated import candidate handling with stat validation and fallback 2026-08-26 09:39:24 +02:00
Andrea Mazzoleni
78e87549ca Improve directory scan filesystem boundary detection using statx() for mount and subvolume IDs 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
4f286a2faa Document fs_allocate behavior, performance rationale, and invariant checks 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
30f78a4190 Fix fs_check validation omission on the final file in fs_file extent tree 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
6583897fcf Reserve snapraid- prefix for native ZFS snapshots and introduce fssnapshot_path 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
ebb199de3d Fix snapshot path resolution and aliased paths by storing sub_dir in fssnapshot_struct 2026-08-26 09:21:24 +02:00
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