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 |
|
Andrea Mazzoleni
|
136f648cb5
|
Validate persistent state before content serialization
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
80b58e66d5
|
Initialize parity split sizes before pre-resize state checkpoint
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
2774a6488f
|
Enforce contiguous prefix invariant for parity splits and reject internal zero-sized splits
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
f8319361a3
|
Disallow elastic parity split reallocation during fix to preserve persisted layout
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
f6d07dfa10
|
Persist pending logical state before parity resize on normal shrink sync
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
82be7b07b3
|
Persist reallocated mapping before parity resize in force-realloc sync
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
395291bd9a
|
Implement crash-safe --force-full sync with persistent BLOCK_STATE_REBUILD
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
cea7ce7f0a
|
Document non-obvious invariants across sync, check, scrub, parity, and handle mapping logic
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
793782fa2d
|
Fix premature valid_size update before pwrite completion in parity_write
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
3288c8cc8c
|
Add machineinfo_struct to query and report system and CPU information in speed test
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
8d63a85b76
|
Clarify metadata validation semantics in sync comments
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
457c5b7ec2
|
Reject unbounded mapping counts and duplicate disk mappings in content decoding
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
3571052504
|
Reject duplicate or misplaced blockmax records in content decoding
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
0277da9178
|
Validate serialized info timestamps in content file parser to prevent 64-bit overflow
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
e0c0ea3dcc
|
Optimize scalar 8-bit RAID parity generation and recovery in int.c
|
2026-08-31 10:39:17 +02:00 |
|
Andrea Mazzoleni
|
c7ab4e9db9
|
Abort on duplicated info records when reading content
|
2026-08-31 10:39:09 +02:00 |
|
Andrea Mazzoleni
|
c5f6d3c574
|
Abort with internal inconsistency on duplicate or misplaced hash and prevhash records in content file
|
2026-08-27 21:23:56 +02:00 |
|
Andrea Mazzoleni
|
b5cc5eb007
|
Fix integer overflow in deleted block count byte size conversion in content parser
|
2026-08-27 17:38:18 +02:00 |
|
Andrea Mazzoleni
|
39e810564f
|
Apply timestamps prior to renaming unrecoverable files during fix
|
2026-08-27 16:59:23 +02:00 |
|
Andrea Mazzoleni
|
67638a6638
|
Create missing files as .unrecoverable during fix to ensure crash safety on SIGKILL
|
2026-08-27 16:54:24 +02:00 |
|
Andrea Mazzoleni
|
7930ff82df
|
Validate serialized disk mapping positions to prevent integer overflow and out-of-bounds access
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
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-08-27 16:29:34 +02:00 |
|
Andrea Mazzoleni
|
237c9f0497
|
Enforce BLOCK_MAX limits on both 32-bit and 64-bit builds
|
2026-08-27 16:29:34 +02:00 |
|
Andrea Mazzoleni
|
e1574faa36
|
Skip self-test on status, locate, read, and test-rewrite commands
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
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-08-26 22:55:49 +02:00 |
|