Commit graph

2422 commits

Author SHA1 Message Date
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
0831ad7955 Add AGENTS.md
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-13 22:49:27 +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
ece7e8f77a Refine RAID buffer displacement rationale 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
d8d90bfb59 Refine RAID stride noise documentation 2026-08-13 22:49:27 +02:00
Andrea Mazzoleni
7b50694247 Add RAID library developer README 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
950d4a0b10 Remove curl fallback from packaging scripts and require local tarball 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
8630da5ade Fix Bcachefs snapshot renaming to use the atomic rename syscall 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
0032d2b6eb Use direct Linux setresuid/setresgid syscalls for thread-local privilege switching 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
ccc7d55286 Add O_CLOEXEC flag to open /dev/null in os_command and os_daemonize 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
6ac8d6a057 Fix os_wait return type mismatch in UNIX implementation 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
26e9c6d86f Isolate child process group with setpgid to prevent double signal delivery 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
01218792e2 Document why invalid GUID validation in fssnapshot_create returns immediately without WMI cleanup 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
0519f96503 Modernize configure.ac 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
0ba9854e4c Fix Makefile target name from btrfscheck to snapcheck in makecov.sh 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
6e5a59da10 Protect rate limiter state updates with a mutex to prevent data races 2026-08-13 21:34:20 +02:00
Andrea Mazzoleni
8945e9fb36 Align Windows rotational device detection fallback with Unix by assuming rotational when unknown 2026-08-12 00:10:26 +02:00
Andrea Mazzoleni
d41e57921a Fix potential division by zero in nalloc_nofail when size is zero 2026-08-12 00:07:32 +02:00
Andrea Mazzoleni
3131d57646 Fix non-POSIX test equality operator in configure.ac for shell compatibility 2026-08-12 00:03:51 +02:00
Andrea Mazzoleni
5d0534a7a3 Change the speed report link
Some checks failed
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-08-10 22:44:25 +02:00
Andrea Mazzoleni
0543666971 Update HISTORY 2026-08-10 22:18:46 +02:00
Andrea Mazzoleni
40ad88efac Add S_ISBLK checks to devdereference_btrfs and devdereference_bcachefs
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-10 13:26:29 +02:00
Andrea Mazzoleni
f908b122a5 Replace malloc with alloca in fork child exec path for async-signal safety 2026-08-10 13:26:29 +02:00
Andrea Mazzoleni
e1f6ddfe15 Comment explaining why CLOSE_RANGE_CLOEXEC is safe for fexecve binaries in os_spawn 2026-08-10 13:26:29 +02:00
Andrea Mazzoleni
37b70c378d Add devlabel_dev to read volume labels from /dev/disk/by-label 2026-08-10 13:26:29 +02:00
Andrea Mazzoleni
8299a30475 Remove libblkid support and build dependency 2026-08-10 12:08:04 +02:00
Andrea Mazzoleni
1692786269 Add FS_IOC_GETFSLABEL ioctl support for reading filesystem labels in Linux 2026-08-10 12:04:02 +02:00
Andrea Mazzoleni
6f404aad6a Reset all SMART attribute fields (raw, norm, worst, thresh) to SMART_UNASSIGNED when ignored 2026-08-10 11:41:55 +02:00
Andrea Mazzoleni
d3a4c80ab2 Comment about syshex 2026-08-10 11:37:08 +02:00
Andrea Mazzoleni
78bcfaaa04 Guard lower close_range call with fd > 3 in os_exec_script 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
21b92ff33d Fail devdereference_zfs and devdereference_bcachefs if stat or S_ISBLK checks fail on any device 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
c3326dcb80 Return error in devdereference_bcachefs if no devices are found 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
2f3ca18f32 Free devlist allocations on error in devdereference_btrfs 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
14d25db309 Fallback to rotational in devpower if sysfs attribute is unknown 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
0e4bc5bcee Document dummy register clobbers in raid_sse_end and raid_neon_end 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
ae1fe46ea8 Replace VLA envp_dynamic with malloc in fork child exec path 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
d47a7fa6ff Add comments explaining Windows Service console attachment flow in os_term 2026-08-10 11:23:15 +02:00
Andrea Mazzoleni
52dbb0a8cf Comment about process resource in os_term/os_kill on Windows 2026-08-10 11:23:15 +02:00