Commit graph

2261 commits

Author SHA1 Message Date
Andrea Mazzoleni
5fb82d6195 Change the AVX512BW generation to use pshufb also for Q parity 2026-06-03 22:01:00 +02:00
Andrea Mazzoleni
d9798b6377 Extend the pshufb table to include the Q parity coefficients 2026-06-03 22:01:00 +02:00
Andrea Mazzoleni
eff01f8c8f New displacement benchmarks 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
14053fb682 Simplify GFNI implementations 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
31d6c05eea Always build RAID test with USE_RAID_AES 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
e3a0671c00 Assume the assembler supports all x86 SSE/AVX instructions 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
00d272a8b9 Extend the RAID regression test to detect unset parity 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
f9a1370b42 Add support for AVX2 GFNI 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
8ae654d8a6 Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath 2026-06-03 22:00:59 +02:00
Andrea Mazzoleni
c0c10197bd Revise the RAID library Makefile 2026-06-03 22:00:59 +02:00
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