Commit graph

2426 commits

Author SHA1 Message Date
Andrea Mazzoleni
fa8913a759 Use monotonic clock in os_tick_ms and os_tick_sec on POSIX systems 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
cdd8798227 Use unsigned char for character range comparisons in match_class 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
180f7edc2f Decode mountinfo octal escapes during Bcachefs device dereferencing 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
39e55d3002 Fix ZFS dataset discovery when mount paths contain spaces 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
30417d57a5 Exclude snapshot directory only when snapshot mode is enabled 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
daf713820e Add os_usleep with bounded sleep loop returning on signal interruption and use it in bandwidth limiter 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
2bf74bc66f Index deallocated snapshot blocks in previmportset during rehash 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
f453a72369 Preserve recovery state until a full clean sync completes 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
349c18a0a8 Sync rejects block ranges and always process full parity 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
1015e2a6c5 Remove duplicate scrub parity mismatch diagnostic 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
9255157519 Fix per-file block index overflow beyond 32 bits 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
5be2d16904 Add AGENTS.md 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
6c8bee76fa Continue snapshot renames across per-disk failures 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
7eaec5ca70 Fix thermal device list cleanup on early exits 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
f09091a4e4 Refine RAID buffer displacement rationale 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
45833e9f1f Refine RAID stride noise documentation 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
039b5c2c28 Add RAID library developer README 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
3d23853de7 Log explicit warning when missing snapshots fall back to live filesystem 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
7b7a2d5d00 Fail sync if snapshot setup fails on a supported filesystem 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
3f0c194a2f Fix snapshot commit failure propagation to ensure sync exits with error 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
661e539f45 Defer pending snapshot promotion until parity sync 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
bb1a08e950 Remove curl fallback from packaging scripts and require local tarball 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
cd4e06a215 Fix Bcachefs snapshot renaming to use the atomic rename syscall 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
170759e83c Use direct Linux setresuid/setresgid syscalls for thread-local privilege switching 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
6b3b60bf87 Add O_CLOEXEC flag to open /dev/null in os_command and os_daemonize 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
03831386f0 Fix os_wait return type mismatch in UNIX implementation 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
1c3f695d5a Isolate child process group with setpgid to prevent double signal delivery 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
4defb748e8 Document why invalid GUID validation in fssnapshot_create returns immediately without WMI cleanup 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
e44fb81da2 Modernize configure.ac 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
c66ea18715 Fix Makefile target name from btrfscheck to snapcheck in makecov.sh 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
b4a694bb10 Align Windows rotational device detection fallback with Unix by assuming rotational when unknown 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
3e4f79180e Fix potential division by zero in nalloc_nofail when size is zero 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
dac999e693 Fix non-POSIX test equality operator in configure.ac for shell compatibility 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
74a62a8d82 Change the speed report link 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
5434a900ce Update HISTORY 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
86a9064a68 Add S_ISBLK checks to devdereference_btrfs and devdereference_bcachefs 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
84297fc6dc Replace malloc with alloca in fork child exec path for async-signal safety 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
19173754ec Comment explaining why CLOSE_RANGE_CLOEXEC is safe for fexecve binaries in os_spawn 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
c4d509438f Add devlabel_dev to read volume labels from /dev/disk/by-label 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
f818d9426b Remove libblkid support and build dependency 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
413e46251e Add FS_IOC_GETFSLABEL ioctl support for reading filesystem labels in Linux 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni
97b13557fe Reset all SMART attribute fields (raw, norm, worst, thresh) to SMART_UNASSIGNED when ignored 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
3a3152a36f Comment about syshex 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
2b71f5727e Guard lower close_range call with fd > 3 in os_exec_script 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
6491de0eaa Fail devdereference_zfs and devdereference_bcachefs if stat or S_ISBLK checks fail on any device 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
f518a1ba18 Return error in devdereference_bcachefs if no devices are found 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
8562e4f28e Free devlist allocations on error in devdereference_btrfs 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
c4511e28bc Fallback to rotational in devpower if sysfs attribute is unknown 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
f3c3265116 Document dummy register clobbers in raid_sse_end and raid_neon_end 2026-08-18 23:33:56 +02:00