Commit graph

2269 commits

Author SHA1 Message Date
Andrea Mazzoleni
44a2bec853 Do not expose Windows threads keys 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
d2e7efee6b Validate GUIDs before passing them to PowerShell 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
7319b8e6ca Take into account that btrfs devices can be not contiguous 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
1e9c4586cc Portability 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
b0579142fa Add tables for the AES Polynomial 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
59be50319d Update TODO 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
2debe49f74 Secure the popen use 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
8565fb0e0d Delete snapshot links in Windows 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
54cfead6bd Report issues in github 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
8318ce9106 Update documentation about snapshots 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
e3bb158fcc Comment about the RAID optimizations 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
b388c8be13 Use a simpler approach in the new AVX512 generation functions 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
8d08ff486d Automatically exclude the snapshot .snapraid directory and content files 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
c080c3aa91 Preliminary support for AVX512GFNI 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
16a8c90bd8 Allow to configure path of external tools 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
5d3164e3d7 Secure external tools execution 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
deb800cb57 Add Windows VirtualShadowCopy support for snapshots 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
33af95b359 Add Windows support for symlink of directories 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
7c6ba28510 In Windows readlink now convert \ to / to match symlink behaviour 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
0faad24fb5 Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
ffdc3f8d92 Revise manpage pattern section 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
31de3cc0a8 Sanitize shell execution 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
a1e2cd15b0 Add ZFS support 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
e8d6dabec7 Rework snapshot interface 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
76d26d1322 Add Bcachefs support 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
f5657c9f80 Change the BLOCK_HASH_SIZE type to avoid potential overflow 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
021b36c94c Target Windows 7 instead of Windows Vista 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
db38e16e46 Modernize configure.ac 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
2198f8736a More coverage support 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
debbcf4a3f Update manpage 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
e8a9ba57aa Update TODO 2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
f791f76b4e Add regression check for Btrfs
It requires root privileges as it has to create Btrfs filesystems.
2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
c843812bb0 Remove the requirement to snapshot content files
The new content file format now includes metadata for previous versions
of files. This allows the fix command to access historical file data from
snapshots as needed, ensuring recovery even if the live filesystem has
changed or the file was deleted during a sync.
2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
8ef2c6f759 Track deallocated files in the content file for parity recovery
Add a new 'dealloc' list per disk to record files that were removed
or modified during a scan. This list is saved in the content file
(new format version SNAPCNT4) so that past parity contributions of
those files can be imported from previous snapshots.
2026-08-04 09:47:59 +02:00
Andrea Mazzoleni
23a8face52 Change commenting style 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
288e30247d Change commenting style 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
d518b940d5 Avoid duplicate steps in the build servers 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
5fa16dad4f Sync no longer requires clearing the past hash
It no longer assumes past hashes are valid if even a single unsynced
block exists, which indicates a previous sync was interrupted.

While this makes syncing slower after an interruption, it preserves the
past hash in the content file, enabling a more reliable fix if a
disk fails following an incomplete sync.

This ensures the --import option remains functional even after an
interrupted sync.
2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
e29f428017 Add detection of AVX2GFNI 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
3cb365933d Integrate new AVX512 functions in the speed test 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
047852b08b Add more AVX512 functions for parity 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
cd2ac8439f Add Btrfs snapshot support for atomic sync and recovery consistency 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
ee6acba9a9 New Btrfs support using IOCTLs to get UUID and low level devices 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
b51307269a Get the UUID from the imported file or directory 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
51f1d207c4 Preliminary support for ADVX512 2026-08-04 09:47:58 +02:00
Christoph Hellwig
9ccbe54bc5 Make all RAID forwarders static and local using a new registration interface
Co-authored-by: Andrea Mazzoleni <amadvance@gmail.com>
2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
da08cad826 Drop the test-run option from the official binary 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
597550017a Log using log_error all errors that are not resulting in an early termination 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
ead344da44 Reduce permission to avoid to spin up disks in Windows 2026-08-04 09:47:58 +02:00
Andrea Mazzoleni
ea37d5a38b More informational error level messages
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-04 09:46:55 +02:00