Commit graph

2280 commits

Author SHA1 Message Date
Andrea Mazzoleni
abfa6fde28 Always build RAID test with USE_RAID_AES 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
108915254e Assume the assembler supports all x86 SSE/AVX instructions 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
44d23c16ff Extend the RAID regression test to detect unset parity 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
c08a571d88 Add support for AVX2 GFNI 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
557dcda9cd Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
1b8bf8dfd0 Revise the RAID library Makefile 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
599a4fbb42 Be more clear when GFNI is really used 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
d67cdd8b9d Optimize AVX512 gen1 parity with the vpternlogq instruction 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
d773f21c1e Update TODO 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
58fece3584 Extend io_init() to support arbitrary combinations of data and parity operations 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
185df4bd2e Do not expose Windows threads keys 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
2c6b7badb7 Validate GUIDs before passing them to PowerShell 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
6a4d2dfd6d Take into account that btrfs devices can be not contiguous 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
493e0118f3 Portability 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
9005af10ad Add tables for the AES Polynomial 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
eae20ea043 Update TODO 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
0df28e936f Secure the popen use 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
87313c2bfd Delete snapshot links in Windows 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
2c92381686 Report issues in github 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
d3ce39c8bd Update documentation about snapshots 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
9b8e4a8845 Comment about the RAID optimizations 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
e381e74ee6 Use a simpler approach in the new AVX512 generation functions 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
99530c9946 Automatically exclude the snapshot .snapraid directory and content files 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
639167efba Preliminary support for AVX512GFNI 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
6bebf4dd09 Allow to configure path of external tools 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
5c1cf8560a Secure external tools execution 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
ab72f1cfc8 Add Windows VirtualShadowCopy support for snapshots 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
38f78154f9 Add Windows support for symlink of directories 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
c5b3fdc615 In Windows readlink now convert \ to / to match symlink behaviour 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
8bb22f2f7c Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
d5fb4279e3 Revise manpage pattern section 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
60316a5eda Sanitize shell execution 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
033ce93d5b Add ZFS support 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
ec9ddb474a Rework snapshot interface 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
16b08201a4 Add Bcachefs support 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
4a37e3fece Change the BLOCK_HASH_SIZE type to avoid potential overflow 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
d9c5e0c9b2 Target Windows 7 instead of Windows Vista 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
e82755197f Modernize configure.ac 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
c724b47189 More coverage support 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
8a727975ab Update manpage 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
fb051e02c7 Update TODO 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
76ce1cbb16 Add regression check for Btrfs
It requires root privileges as it has to create Btrfs filesystems.
2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
2e71602267 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-18 23:33:52 +02:00
Andrea Mazzoleni
275063d23c 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-18 23:33:52 +02:00
Andrea Mazzoleni
54602422dd Change commenting style 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
d735eb7736 Change commenting style 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
03a8c76106 Avoid duplicate steps in the build servers 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
1227a8c45e 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-18 23:33:52 +02:00
Andrea Mazzoleni
03a8927571 Add detection of AVX2GFNI 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
25e8436534 Integrate new AVX512 functions in the speed test 2026-08-18 23:33:52 +02:00