Commit graph

2251 commits

Author SHA1 Message Date
Andrea Mazzoleni
2a3f1e5f2f Be more clear when GFNI is really used 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
821a0e444e Optimize AVX512 gen1 parity with the vpternlogq instruction 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
911b22db82 Update TODO 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
429d87540b Extend io_init() to support arbitrary combinations of data and parity operations 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
63a4a9382d Do not expose Windows threads keys 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
ed7b35f62f Validate GUIDs before passing them to PowerShell 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
7b5f6447ba Take into account that btrfs devices can be not contiguous 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
8db4198694 Portability 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
7e7751a68a Add tables for the AES Polynomial 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
efaf9c7906 Update TODO 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
af840808bc Secure the popen use 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
39522d06d9 Add new build option to allow symlinks 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
6cd0b85f39 Delete snapshot links in Windows 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
7cab73bbb9 Report issues in github 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
eee60499bd Update documentation about snapshots 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
31c394ec84 Comment about the RAID optimizations 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
914a0216b4 Use a simpler approach in the new AVX512 generation functions 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
cb6edc4335 Automatically exclude the snapshot .snapraid directory and content files 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
746a9b8940 Preliminary support for AVX512GFNI 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
c632bfc5af Allow to configure path of external tools 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
06b19808c1 Secure external tools execution 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
0f37db8d20 Add Windows VirtualShadowCopy support for snapshots 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
7e31d976fa Add Windows support for symlink of directories 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
f8197cad78 In Windows readlink now convert \ to / to match symlink behaviour 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
cf923aeb1b Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
338c7266fd Revise manpage pattern section 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
6eb6aaee3e Sanitize shell execution 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
681683bfd5 Add ZFS support 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
614513bab5 Rework snapshot interface 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
aa55b96aa8 Add Bcachefs support 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
4ed6f21823 Change the BLOCK_HASH_SIZE type to avoid potential overflow 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
2c854de501 Target Windows 7 instead of Windows Vista 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
770a973a1a Modernize configure.ac 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
1c49494ade More coverage support 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
42147115fe Update manpage 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
680af8b38a Update TODO 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
388260b576 Add regression check for Btrfs
It requires root privileges as it has to create Btrfs filesystems.
2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
2bac137218 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-06-03 22:00:59 +02:00
Andrea Mazzoleni
f413e96ec4 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-06-03 22:00:59 +02:00
Andrea Mazzoleni
e9d4b0152a Change commenting style 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
5caae12610 Change commenting style 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
8df99e3026 Avoid duplicate steps in the build servers 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
85ede49477 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-06-03 22:00:59 +02:00
Andrea Mazzoleni
e06d8ab550 Add detection of AVX2GFNI 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
70c9b35206 Integrate new AVX512 functions in the speed test 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
b61168a561 Add more AVX512 functions for parity 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
4fe0fe406e Add Btrfs snapshot support for atomic sync and recovery consistency 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
8e58348983 New Btrfs support using IOCTLs to get UUID and low level devices 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
ae8a89ec25 Get the UUID from the imported file or directory 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
18aa07be36 Preliminary support for ADVX512 2026-06-03 22:00:59 +02:00