Andrea Mazzoleni
|
a39fb132f8
|
Normalize comment style
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-10-07 09:14:01 +02:00 |
|
Andrea Mazzoleni
|
bff4bb237b
|
Avoid truncating untracked file tails during partial fix
|
2026-09-28 11:37:58 +02:00 |
|
Andrea Mazzoleni
|
e7135d101b
|
Validate hardlink entries without following symbolic links during check and fix
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-27 11:31:35 +02:00 |
|
Andrea Mazzoleni
|
0138b48023
|
Avoid recreating missing files and directories during fix with syncedonly (-e/-b)
|
2026-09-26 18:17:25 +02:00 |
|
Andrea Mazzoleni
|
5b0a8e0c8e
|
Restore file mtime after synced-only recovery writes
|
2026-09-25 10:48:56 +02:00 |
|
Andrea Mazzoleni
|
a92b19d9c2
|
Use lstat for empty objects and leave type mismatches unrecoverable
|
2026-09-25 08:48:43 +02:00 |
|
Andrea Mazzoleni
|
bcc06e10c6
|
Reject parity sizes exceeding data_off_t range and remove redundant block size casts
|
2026-09-24 20:40:27 +02:00 |
|
Andrea Mazzoleni
|
222136f1e7
|
Leave block empty for unlocalized close errors and use zero for parity open errors
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-23 16:37:13 +02:00 |
|
Andrea Mazzoleni
|
c6951393e8
|
Exit code and logging invariants for log_fatal and hardware log_error
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-21 17:27:07 +02:00 |
|
Andrea Mazzoleni
|
8b9858ffdc
|
Synchronizes log entries for errors
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-15 23:55:21 +02:00 |
|
Andrea Mazzoleni
|
33340f1ede
|
Replace mem_is_zero() with membcmp() and update call sites
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-11 09:27:42 +02:00 |
|
Andrea Mazzoleni
|
62ae6c3552
|
Replace physical reach tracking with the natural file and parity EOF
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-09 13:03:11 +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
|
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
|
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
|
f9819266e7
|
Abort cooldown sleep and break caller loops immediately on interruption
|
2026-09-06 23:37:05 +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
|
0ce89aa35d
|
Add support for selectable streaming vs cached parity generation
|
2026-09-02 17:26:02 +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
|
90fa3792ef
|
Improve CHG recovery by inferring CURRENT state across the whole RAID solution
|
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
|
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
|
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
|
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
|
f453a72369
|
Preserve recovery state until a full clean sync completes
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
eebb3943e5
|
Protect rate limiter state updates with a mutex to prevent data races
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
0ca7c65049
|
Support filesystems with invalid inode numbers on individual files
|
2026-08-18 23:33:56 +02:00 |
|
Andrea Mazzoleni
|
3878c0e2e6
|
Silence clang static analyzer warnings
|
2026-08-18 23:33:56 +02:00 |
|
Andrea Mazzoleni
|
ebe2bbe76c
|
Document handle_close failures
|
2026-08-18 23:33:56 +02:00 |
|
Andrea Mazzoleni
|
bbcdb72a9f
|
Introduce nalloc_nofail
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
00b4cbafd0
|
Merge the CLI and Daemon portable interface
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
f40b2decdb
|
Further conversions from 32 to 64 bits
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
bbd3c23cd2
|
Migrate block_off_t to 64-bit with updated CLI parsing, VLQ serialization, and format specifiers
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
76998613da
|
Remove the unused number of data disks from the vector allocation
The same addressing rules are applied to the parity disks because
they are used as data disks during recovery operations.
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
4a37e3fece
|
Change the BLOCK_HASH_SIZE type to avoid potential overflow
|
2026-08-18 23:33:53 +02:00 |
|
Andrea Mazzoleni
|
54602422dd
|
Change commenting style
|
2026-08-18 23:33:52 +02:00 |
|
Andrea Mazzoleni
|
5cfebba19e
|
Remove unnecessary log argument
|
2026-06-03 20:57:08 +02:00 |
|
Andrea Mazzoleni
|
cc99a22929
|
Add protection for block position integer overflow
|
2026-06-03 19:07:31 +02:00 |
|
Andrea Mazzoleni
|
96e20b3912
|
Switch esc_tag and path formatting to a contiguous thread-local circular pool to eliminate stack bloat
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
|
2026-05-29 11:22:04 +02:00 |
|
Andrea Mazzoleni
|
8749d0dfe3
|
Handle the cases of directory already create by another process
|
2026-05-21 10:30:14 +02:00 |
|
Andrea Mazzoleni
|
9f57d3217d
|
Do not even attempt to recover if there are more failures than parities
|
2026-05-21 10:29:56 +02:00 |
|