Commit graph

1064 commits

Author SHA1 Message Date
Andrea Mazzoleni
ac9d47c073 Document scan phase invariants 2026-08-18 00:06:15 +02:00
Andrea Mazzoleni
6e731e2680 Fix modified hardlink inode tracking during scan 2026-08-18 00:03:01 +02:00
Andrea Mazzoleni
8d3b686be8 Prevent partial fix from finalizing incomplete files 2026-08-17 23:58:08 +02:00
Andrea Mazzoleni
7b143e563c Keep unrecoverable files quarantined until fix completion 2026-08-17 23:58:08 +02:00
Andrea Mazzoleni
1d57661121 Clarify CHG block handling during interrupted sync recovery 2026-08-17 21:57:02 +02:00
Andrea Mazzoleni
bde6c8b125 Quiesce read-ahead before thermal spin-down 2026-08-17 19:41:30 +02:00
Andrea Mazzoleni
d9091ba551 Detect truncated parity using the contiguous valid physical prefix 2026-08-17 19:33:56 +02:00
Andrea Mazzoleni
ea767917f2 Fix parity writer error propagation in io_flush and abort sync on parity write failures 2026-08-17 19:33:56 +02:00
Andrea Mazzoleni
1ffafc8c0a Add missing esc_tag() in status and parity split log tags 2026-08-17 19:33:56 +02:00
Andrea Mazzoleni
e9f9603207 Fix io_flush_thread() to wait for in-flight writer tasks before returning 2026-08-17 18:16:52 +02:00
Andrea Mazzoleni
a1a3315824 Set stream state to EOF in sfill when reaching stream size limit 2026-08-17 17:26:49 +02:00
Andrea Mazzoleni
9bb73043c3 Fix sopen_write call signature in HAVE_MT_WRITE block by adding stream flags 2026-08-17 17:25:35 +02:00
Andrea Mazzoleni
c0731582a5 Enforce content file CRC as terminal by rejecting trailing data and terminating parse loop 2026-08-17 17:23:47 +02:00
Andrea Mazzoleni
30aa997947 Check and report shared physical devices across array disks 2026-08-17 17:15:48 +02:00
Andrea Mazzoleni
ad165dfb67 Add SMHasher3 adapters and validation results for SnapRAID hash functions 2026-08-17 16:50:42 +02:00
Andrea Mazzoleni
dab502293d Propagate smartctl info options in Windows devtree and thermal monitoring 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
d5b9756744 Fix spinup and spindown failure when skipping non-rotational devices 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
762d9d6d7b Handle short read and pread operations in import and search paths 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
3ab2511110 Fix undefined behavior in STREAM buffer bounds checking by avoiding out-of-bounds pointer arithmetic 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
6bbd9c7a6c Fix undefined behavior in extent file comparison by casting pointers to uintptr_t 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
5151d59208 Fix undefined _linux macro typo to __linux__ 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
abea8c56d9 Remove unused MetroHash implementation and references 2026-08-17 15:39:39 +02:00
Andrea Mazzoleni
2c5390ecf1 Harden PowerShell execution with safe SearchPathW and os_spawn 2026-08-17 10:19:38 +02:00
Andrea Mazzoleni
0669f03754 Remove legacy in-place mtime_nsec migration in multithread scanner 2026-08-17 10:19:38 +02:00
Andrea Mazzoleni
eca321263a Accumulate ReadCount and WriteCount into 64-bit count in devstat 2026-08-17 10:19:38 +02:00
Andrea Mazzoleni
e6f1b96215 Handle short writes and EINTR in sflush, handle_write, and parity_write 2026-08-17 10:19:38 +02:00
Andrea Mazzoleni
bf9684cfae Reject incomplete VPD page 0x80 instead of clamping page_len 2026-08-16 15:51:26 +02:00
Andrea Mazzoleni
50d1389623 Fix 16-bit big-endian length parsing for SCSI VPD page 0x80 2026-08-16 15:43:34 +02:00
Andrea Mazzoleni
7345eac57e Track read-only handle fallback to report accurate write permission errors instead of EBADF 2026-08-14 11:45:51 +02:00
Andrea Mazzoleni
9a08258249 Serialize bandwidth rate limiter sleep inside mutex to eliminate parallel worker stall waves 2026-08-14 11:45:51 +02:00
Andrea Mazzoleni
daaa205acf Forward configuration file options to spindown on error 2026-08-14 11:45:51 +02:00
Andrea Mazzoleni
9f2034ea09 Improve error message when content files are damaged or truncated 2026-08-14 11:10:18 +02:00
Andrea Mazzoleni
00ccfd0586 Remove stale snapshot link if renaming device link fails on Windows 2026-08-14 10:47:07 +02:00
Andrea Mazzoleni
9052594054 Use unsigned char for character range comparisons in match_class 2026-08-14 10:39:07 +02:00
Andrea Mazzoleni
91d38da966 Decode mountinfo octal escapes during Bcachefs device dereferencing
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (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-14 09:54:28 +02:00
Andrea Mazzoleni
b80a4f865d Fix ZFS dataset discovery when mount paths contain spaces 2026-08-14 09:51:50 +02:00
Andrea Mazzoleni
3e71e68848 Exclude snapshot directory only when snapshot mode is enabled 2026-08-14 09:47:12 +02:00
Andrea Mazzoleni
a8a94bb950 Add os_usleep with bounded sleep loop returning on signal interruption and use it in bandwidth limiter 2026-08-14 09:39:36 +02:00
Andrea Mazzoleni
5926570f29 Index deallocated snapshot blocks in previmportset during rehash 2026-08-14 09:08:52 +02:00
Andrea Mazzoleni
11a0d056de Preserve recovery state until a full clean sync completes 2026-08-14 08:56:52 +02:00
Andrea Mazzoleni
e4abd2b080 Sync rejects block ranges and always process full parity 2026-08-14 00:45:07 +02:00
Andrea Mazzoleni
1b7f210e3b Remove duplicate scrub parity mismatch diagnostic 2026-08-14 00:21:16 +02:00
Andrea Mazzoleni
ac4485cc36 Fix per-file block index overflow beyond 32 bits 2026-08-14 00:17:58 +02:00
Andrea Mazzoleni
f0f42e9e0c Continue snapshot renames across per-disk failures 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
c1f6292d1e Fix thermal device list cleanup on early exits 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
f1fefa7451 Log explicit warning when missing snapshots fall back to live filesystem 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
b425ff3a4f Fail sync if snapshot setup fails on a supported filesystem 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
b71996984f Fix snapshot commit failure propagation to ensure sync exits with error 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
fbd9b9ea49 Defer pending snapshot promotion until parity sync 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
8630da5ade Fix Bcachefs snapshot renaming to use the atomic rename syscall 2026-08-13 21:34:20 +02:00