Commit graph

59 commits

Author SHA1 Message Date
Andrea Mazzoleni
c09b850047 Keep generation ambiguous for legacy hashes in check repair to prevent false CURRENT certification on size changes
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-07 12:02:24 +02:00
Andrea Mazzoleni
472c85a4fb Centralize canonical SnapRAID block hashing semantics 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
9c6e3952c5 Remove unused MetroHash implementation and references 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3878c0e2e6 Silence clang static analyzer warnings 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
00b4cbafd0 Merge the CLI and Daemon portable interface 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
2db72e0e7e Add CRC support for macOS 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
2dbb25acbd Allow to specify the wrap size in allocation 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
f40b2decdb Further conversions from 32 to 64 bits 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
76998613da Remove the unused number of data disks from the vector allocation
The same addressing rules are applied to the parity disks because
they are used as data disks during recovery operations.
2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
108915254e Assume the assembler supports all x86 SSE/AVX instructions 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
b7dcf8659e Enable lock file support on Windows using CreateFileW with exclusive share mode 2026-08-04 09:46:55 +02:00
Andrea Mazzoleni
e5eb60ef4b Prefer the 128 bit multiplication over the assembler ARM64 implementation
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
The asm code looks correct, but there is a report about a failure of the
self test on a Apple Silicon, maybe caused by a compiler bug.
Considering the 128 bit integer implementation is anyway equally fast,
makes sense to always use it.

See: https://github.com/amadvance/snapraid/issues/43
2026-04-13 11:44:49 +02:00
Andrea Mazzoleni
0d0431a907 Simpler Copyright string 2026-04-09 17:56:49 +02:00
Christoph Hellwig
60269a1236 Use SPDX (https://spdx.dev/) tags to identify the license used for each
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
2026-04-02 16:01:37 +02:00
Andrea Mazzoleni
df5b389afd Use more proper flags for the open() for flock()
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-03-09 23:31:42 +01:00
Andrea Mazzoleni
21561e6cf9 More coverage test
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-02-28 18:13:11 +01:00
Andrea Mazzoleni
d451f911c7 Reformat the code with new uncrustify.cfg 2026-02-27 00:39:22 +01:00
Andrea Mazzoleni
d5b5a9bcbf More efficient info bucket management
Logged at every state_read() and state_write()
2026-02-09 14:39:19 +01:00
Andrea Mazzoleni
025816d151 Speed up the status command
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-02-02 18:00:14 +01:00
Andrea Mazzoleni
d3f7bf64c1 Differentiate messages in the log files if they are caused by an hardware issue 2026-02-01 20:44:36 +01:00
Andrea Mazzoleni
b29500c25f Update beautification with uncrustify 2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
f6cf240b97 New experimental MuseAir hash 2026-01-11 12:01:12 +01:00
Andrea Mazzoleni
cc2bdad335 Some hash support improvments 2026-01-11 12:01:12 +01:00
Andrea Mazzoleni
85ca997bf2 Fix integer overflow when computing the progress percentage 2024-01-03 20:20:39 +01:00
Andrea Gelmini
986e9b4131 Fix typos 2020-05-26 12:50:15 +02:00
Andrea Mazzoleni
b725333a49 Add MetroHash128 for speed measurement 2020-04-24 21:02:45 +02:00
Andrea Mazzoleni
ac3714aa8a Fix some potential alignment issues
In ARM platforms we need data aligned for direct
access. Use special tricks to access unaligned one.
2016-11-09 19:43:52 +01:00
Andrea Mazzoleni
20cd1f86f8 Fix typos in comments
No functional change.
2016-05-23 22:37:18 +02:00
Andrea Mazzoleni
21241c5078 Preliminary advise support 2016-05-15 14:50:59 +02:00
Andrea Mazzoleni
36a4d24333 Source code beautification
Done with uncrustify.
2016-04-10 22:46:09 +02:00
Andrea Mazzoleni
b619b9bee1 Use a faster memory test
We have now many buffers to test, and we need a faster test.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
61402049bc Fix the counting of different bits, as it was always return 0 2015-12-13 18:42:36 +01:00
Andrea Mazzoleni
0ba7e649d1 Better optimized CRC call when writing the content file
This saves about 15% of CPU time in writing.
2015-10-08 22:09:12 +02:00
Andrea Mazzoleni
a7c4f082b3 Use size_t where appropriate 2015-09-13 15:36:36 +02:00
Andrea Mazzoleni
8bc16009bd Fix build issue due wrong declaration 2015-09-13 11:41:49 +02:00
Andrea Mazzoleni
3bf691ff7d On data error, prints the number of different bits 2015-09-12 15:19:52 +02:00
Andrea Mazzoleni
de0c437bd2 Put a clear separation between log and msg functions 2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
1c3000ae04 Use a better cpu detection
We now follow precisely the Intel documentation.
2015-03-09 22:28:51 +01:00
Andrea Mazzoleni
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
fa5f31ddf9 Move stream implementation to a specific source file 2015-02-21 09:00:34 +01:00
Andrea Mazzoleni
d4a92f4918 Add additional regression test for streams 2015-02-20 19:07:19 +01:00
Andrea Mazzoleni
84949d96da Add an extra CRC check on the data written to the streams
This is intented to detect memory errors during the processing.
2015-02-18 19:27:59 +01:00
Andrea Mazzoleni
87aa5d5e7b Add a memory test at the stream buffer 2015-02-18 19:17:48 +01:00
Andrea Mazzoleni
b5ce575981 Change the log and output handling
Now the log file contains all the errors messages,
and all the tag lines.
2015-02-02 23:39:46 +01:00
Andrea Mazzoleni
ffe7f6fa57 Adds new files support.c/h for low level support functions. 2015-01-02 18:52:04 +01:00
Andrea Mazzoleni
b24807704e Adds preliminary support for spinning up and down commands. 2015-01-02 15:53:15 +01:00
Andrea Mazzoleni
de4e5eef43 Uses a better message for the Low Memory condition. 2014-12-31 09:09:20 +01:00
Andrea Mazzoleni
8c98864395 Uses the OS random support instead of rand(). 2014-12-27 11:56:55 +01:00
Andrea Mazzoleni
95e4ed03bf Removes rand() use from the raid module. 2014-12-27 11:45:59 +01:00
Andrea Mazzoleni
7d6c30333f Uses a more precise intructions set detection.
This allows to build with old assembler programs.
2014-11-12 19:52:35 +01:00