Andrea Mazzoleni
|
fe2a07fc78
|
Defer rehash completion for positions containing unsynchronized blocks
|
2026-09-08 13:36:51 +02:00 |
|
Andrea Mazzoleni
|
76dd3d28ea
|
Clarify physical_reach_size semantics and non-contiguous parity holes left by fix
|
2026-09-08 13:36:51 +02:00 |
|
Andrea Mazzoleni
|
34ac9a08e0
|
Import deallocated files when falling back directly to stable snapshot
|
2026-09-08 13:36:51 +02:00 |
|
Andrea Mazzoleni
|
9db5dc5ed1
|
Mark sync as incomplete on SIGINT during thermal cooldown to prevent premature commit
|
2026-09-08 10:42:14 +02:00 |
|
Andrea Mazzoleni
|
e8726ce95a
|
Add regression tests and document parity size requirements when adding a parity level
|
2026-09-08 10:34:26 +02:00 |
|
Andrea Mazzoleni
|
6971bd58c9
|
Improve missing parity warning to recommend initialization via fix instead of force-full sync
|
2026-09-08 09:58:57 +02:00 |
|
Andrea Mazzoleni
|
5beb465d42
|
Replace is_current and is_outofdate flags with 3-state recovery field in check.c
|
2026-09-08 08:59:37 +02:00 |
|
Andrea Mazzoleni
|
19a5bd781f
|
Always write independently recovered current blocks even if parity repair fails
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-08 00:19:16 +02:00 |
|
Andrea Mazzoleni
|
5827c967a3
|
Report progress messages before filesystem snapshot operations
|
2026-09-07 22:34:53 +02:00 |
|
Andrea Mazzoleni
|
1c9e5df479
|
Truncate parity splits backwards from the tail to preserve intermediate split boundaries
|
2026-09-07 22:15:45 +02:00 |
|
Andrea Mazzoleni
|
db94550cd7
|
Remove physical offset sorting support and default to directory order
|
2026-09-07 22:15:45 +02:00 |
|
Andrea Mazzoleni
|
12c41ff1d1
|
Implement two-phase file scan with dedicated discovery struct and volatile hardlink normalization
|
2026-09-07 22:15:45 +02:00 |
|
Andrea Mazzoleni
|
b113accaad
|
Fix incorrect st_nlink inheritance from directory in Windows stream scanner
|
2026-09-07 15:31:39 +02:00 |
|
Andrea Mazzoleni
|
c9fbc058ef
|
Fix reversed content-suffix matching direction in filter_content
|
2026-09-07 15:21:53 +02:00 |
|
Andrea Mazzoleni
|
918d849739
|
Reset thermal_highest_temperature before readings to ensure fail-open on SMART error
|
2026-09-07 14:43:38 +02:00 |
|
Andrea Mazzoleni
|
f4be0b54d0
|
Reuse imported CURRENT BLK/REBUILD blocks in OLD-history recovery retry
|
2026-09-07 14:26:20 +02:00 |
|
Andrea Mazzoleni
|
c09b850047
|
Keep generation ambiguous for legacy hashes in check repair to prevent false CURRENT certification on size changes
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
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
|
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
|
11fee73ec4
|
Separate process waiting from process-reference release to eliminate Windows HANDLE reuse race
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
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
|
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
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
|
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
|
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
|
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
|
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 |
|
Andrea Mazzoleni
|
e5d5c512b8
|
Reject rehash while an incomplete sync is pending
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
90fa3792ef
|
Improve CHG recovery by inferring CURRENT state across the whole RAID solution
|
2026-08-31 10:39:17 +02:00 |
|