Commit graph

2670 commits

Author SHA1 Message Date
Andrea Mazzoleni
c09b850047 Keep generation ambiguous for legacy hashes in check repair to prevent false CURRENT certification on size changes
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-07 12:02:24 +02:00
Andrea Mazzoleni
b82ee5ff56 Separate hash identity from canonical padding validation in check to fix CHG generation detection with MuseAir 2026-09-07 11:45:16 +02:00
Andrea Mazzoleni
31710bc1f3 Distinguish system temperature sensor from thermal model ambient reference 2026-09-07 11:38:49 +02:00
Andrea Mazzoleni
5e4cca1fe3 Detect and auto-heal content replicas left at different publication generations 2026-09-07 10:56:48 +02:00
Andrea Mazzoleni
74647cda14 Make snapraid_io track started state and defer async I/O after initial thermal control 2026-09-07 10:15:13 +02:00
Andrea Mazzoleni
595461f725 Document thermal power management as best effort
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-07 00:20:02 +02:00
Andrea Mazzoleni
305d1bce36 Use monotonic clock for thermal sampling intervals and model time axis 2026-09-07 00:04:49 +02:00
Andrea Mazzoleni
9ec2457147 Pass real current timestamp to state_thermal() after cooldown 2026-09-06 23:52:25 +02:00
Andrea Mazzoleni
9226f87ad1 Zero-initialize thermal model params in thermal_alloc() 2026-09-06 23:47:43 +02:00
Andrea Mazzoleni
f9819266e7 Abort cooldown sleep and break caller loops immediately on interruption 2026-09-06 23:37:05 +02:00
Andrea Mazzoleni
ea955eedc7 Make state_thermal_cooldown() repeat until disks cool down or thermal check fails 2026-09-06 23:08:48 +02:00
Andrea Mazzoleni
2fd94baa05 Make state_thermal() return 0 on success and -1 on failure 2026-09-06 23:03:31 +02:00
Andrea Mazzoleni
a0c7d69067 Expose real operating system process IDs on Windows via os_display_pid()
Some checks failed
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-arm32 (push) Has been cancelled
Build / build-win (push) Has been cancelled
Build / build-freebsd (push) Has been cancelled
Build / build-musl (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
2026-09-05 11:42:01 +02:00
Andrea Mazzoleni
be3957f939 Ensure parity durability barrier in sync when there are no blocks to sync 2026-09-05 10:39:07 +02:00
Andrea Mazzoleni
8ed0224e41 Use F_FULLFSYNC on macOS with fallback to fsync for full barrier durability 2026-09-05 10:39:07 +02:00
Andrea Mazzoleni
b5a8ef7c33 Terminate entire process group on Unix os_script and os_command timeout to avoid orphaned descendants 2026-09-05 09:45:42 +02:00
Andrea Mazzoleni
11fee73ec4 Separate process waiting from process-reference release to eliminate Windows HANDLE reuse race
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-04 13:31:00 +02:00
Andrea Mazzoleni
5381d0a1ee Sync parent directory of parity split files in parity_sync 2026-09-04 12:24:25 +02:00
Andrea Mazzoleni
bb0e1bb006 Initialize mono writer errors before early sync barriers
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-04 10:03:02 +02:00
Andrea Mazzoleni
e9621ead4c Clarify cache policy and usage of streaming hint in raid_gen() 2026-09-04 10:03:02 +02:00
Andrea Mazzoleni
d96eecfd60 Persist content state and bad block markings on sync errors while preserving deallocation state 2026-09-04 09:52:41 +02:00
Andrea Mazzoleni
719bc5a3d5 Persist content state after parity handles are closed in scrub 2026-09-04 08:47:41 +02:00
Andrea Mazzoleni
930f0dbbcb Map devices before starting thermal 2026-09-04 08:08:40 +02:00
Andrea Mazzoleni
93a64a3710 Emit map_end tag at the end of map list 2026-09-04 08:08:40 +02:00
Andrea Mazzoleni
0b64fb2eae Eliminate obsolete raid_zero API and dedicated zero buffers
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-02 20:49:06 +02:00
Andrea Mazzoleni
8f27c393d6 Standardize types to uint8_t and clean up legacy variables and setup boilerplate 2026-09-02 20:45:06 +02:00
Andrea Mazzoleni
27329c6f8c Ensure reliable Windows child termination by using CREATE_SUSPENDED and handling Job Object failures
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-02 19:01:49 +02:00
Andrea Mazzoleni
fc9fde000f Harmonize function across simd architectures 2026-09-02 18:40:23 +02:00
Andrea Mazzoleni
ec1daddc8e Eliminate raid_delta_gen and convert int/neon32 REC1/REC2 to single-pass fused recovery 2026-09-02 18:30:59 +02:00
Andrea Mazzoleni
0ce89aa35d Add support for selectable streaming vs cached parity generation 2026-09-02 17:26:02 +02:00
Andrea Mazzoleni
44575b21b1 Handle partial writes and log unexpected stdin errors in Windows os_command 2026-09-02 11:44:38 +02:00
Andrea Mazzoleni
b383cbc4ba Increase NSS credential buffer limits for run_as_user compatibility
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-02 00:18:01 +02:00
Andrea Mazzoleni
05e29ae701 Preserve supplementary groups across bracketed privilege changes 2026-09-02 00:03:59 +02:00
Andrea Mazzoleni
8142ec08a0 Clarify CREATE_NO_WINDOW console behavior in os_term comment
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-01 12:42:33 +02:00
Andrea Mazzoleni
dfe0bf19e3 Fix concurrent Windows child handle inheritance with explicit handle lists 2026-09-01 12:37:02 +02:00
Andrea Mazzoleni
586b0a3fd5 Use CLOEXEC pipes for command stdin handling 2026-09-01 12:31:48 +02:00
Andrea Mazzoleni
a6ffe53202 Use raw Linux syscalls for post-fork credential changes 2026-09-01 12:31:48 +02:00
Andrea Mazzoleni
79308a2041 Update NOTES
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
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-08-31 21:34:10 +02:00
Andrea Mazzoleni
b991d5e6c8 Use temporal stores for recovered data in SSSE3 and AVX2 REC1OF1 paths 2026-08-31 21:34:10 +02:00
Andrea Mazzoleni
6cd217ec2b Add O_NOFOLLOW to parity file open/create paths to prevent symlink redirection 2026-08-31 21:34:10 +02:00
Andrea Mazzoleni
40569fff2f Implement O_NOFOLLOW on Windows without following symlinks 2026-08-31 21:34:10 +02:00
Andrea Mazzoleni
f3caf1dbf1 Add dedicated XOR-only fast paths for GFNI rec1of1 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
da58c1a997 Use fused 1-pass recovery for SSSE3 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
ee47fdf723 Fix raid_gen_force parity count in benchmarks 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
5acd43c9e5 Add dedicated XOR-only fast path for AVX512 rec1of1 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
e39c21a4c5 Add XOR-only fast path for AVX2 GFNI rec1of1 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
82089165b5 Add dedicated XOR-only fast path for NEON rec1of1 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
b9d0dcd173 Make .unrecoverable a persistent one-way recovery quarantine 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
472c85a4fb Centralize canonical SnapRAID block hashing semantics 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
327c0e7aac Fix unrecoverable unsynced blocks reported as recoverable 2026-08-31 10:39:17 +02:00