Commit graph

1370 commits

Author SHA1 Message Date
Andrea Mazzoleni
cf335f8258 Avoid an unused variable warning in the Windows builds 2015-11-18 23:17:10 +01:00
Andrea Mazzoleni
496611f476 Fix an integer overflow when computing the size of a deleted entry
This bug prevented SnapRAID to read a valid content file, in case
a deleted entry bigger than 4 GB was present.
This could be reproduced deleting a file bigger than 4 GB and then sync.
2015-11-18 23:14:04 +01:00
Andrea Mazzoleni
9bd0f18439 Replace assertions with more informative messages 2015-11-18 22:10:50 +01:00
Andrea Mazzoleni
c065ad22d5 Change the MinGW compiler for Windows binaries 2015-11-18 22:09:18 +01:00
Andrea Mazzoleni
6b55d2a292 Add extra assertions and consistency checks 2015-11-16 22:54:00 +01:00
Andrea Mazzoleni
903ced679f Disable the file zero check in Windows 2015-11-14 17:03:52 +01:00
Andrea Mazzoleni
8a8a3557e9 Change to version 9.1 2015-11-14 17:01:25 +01:00
Andrea Mazzoleni
292243299e Update TODO list 2015-11-14 16:56:16 +01:00
Andrea Mazzoleni
04e3a7f719 Fix the latest column of the status graph
The convertion from info to time was not necessary, as the value
is already a time. It was clearing the TIME_NEW bit, not showing
corretly the latest column in the graph.
2015-11-13 21:47:13 +01:00
Andrea Mazzoleni
cba363e898 Fix a wrong logic increment in status report 2015-11-13 21:07:30 +01:00
Andrea Mazzoleni
fa3f17ac20 Restore defalt scrub percentage to 8%
This is like the previous 8.1 version, even if the documented
one in the doc was 12%, the real one was 1/12==8%.
2015-11-12 23:04:49 +01:00
Andrea Mazzoleni
54c91ec440 Ensure a side effect in CRC computation 2015-11-11 08:02:54 +01:00
Andrea Mazzoleni
f416d909b2 Update to the latest coverity scan tool 2015-11-10 23:35:42 +01:00
Andrea Mazzoleni
5ca5967122 Update HISTORY 2015-11-10 21:30:26 +01:00
Andrea Mazzoleni
4030b18d40 Show differently scrubbed and new blocks in the graph 2015-11-10 21:27:56 +01:00
Andrea Mazzoleni
4b5c27900f Change the status message for the not scrubbed percentage 2015-11-10 19:51:38 +01:00
Andrea Mazzoleni
40265401d3 Rename the --percentage option to --plan
The old --percentage is still supported, but not documented anymore.
2015-11-10 19:37:23 +01:00
Andrea Mazzoleni
1917814d2d Restore the default scrub behaviour of the previous version
If the user like to scrub new blocks, he can now use the -p new
option, and then call again scrub with a percentage to scrub the
old blocks.

Scrubbing old and new blocks are two different operations, and make
sense to keep them separated. Mixing them could instead raise
problematic issues, like not being able to predict the time required
for a full scrub cycle, as it depends also on the amount of synced
data.
2015-11-09 23:34:41 +01:00
Andrea Mazzoleni
9f263b6fa8 Clearify the search process done by fix in the doc 2015-11-09 23:34:41 +01:00
Andrea Mazzoleni
ae2171570b Update generated documentation files 2015-11-09 23:34:41 +01:00
CrawX
ef9cc812f8 Clarify documentation for autosave option 2015-11-09 23:34:41 +01:00
Andrea Mazzoleni
7f17d667e6 Change the default scrub percentage to 15%
This is done to take into account that now
synced blocks are scrubbed with priority.
2015-11-08 16:52:29 +01:00
Andrea Mazzoleni
9be125dfb9 Adjust HISTORY for the upcoming release 2015-11-05 22:00:43 +01:00
Andrea Mazzoleni
3ea6714236 Cleanup resource on thread errors
We are going to exit() anyway, but static analyzers
don't known that.
2015-10-31 16:46:15 +01:00
Andrea Mazzoleni
06cbc7d482 Some missing coverage exclusions 2015-10-31 16:29:08 +01:00
Andrea Mazzoleni
405a3648e0 Add helgrind and drd checkers 2015-10-30 22:32:49 +01:00
Andrea Mazzoleni
8ff39bb9bf Fix thread operations using thread-safe functions
We have a common disk cache, that we cannot share
during multithread operations.

Intead of using a mutex to access the cache, we use a
local thread cache.
2015-10-30 19:06:24 +01:00
Andrea Mazzoleni
fcf7c44197 Use different thread when writing content file
This should reduce the possibility that the same
memory error is going to affect all the written
content files in the same way.
2015-10-29 23:37:58 +01:00
Andrea Mazzoleni
80476c480b Delayed CRC computation of the buffer used in writing
This should help to detect more memory errors when writing
the content files.
2015-10-29 22:32:07 +01:00
Andrea Mazzoleni
204656b129 Verify the CRC of content files after writing them 2015-10-28 22:04:04 +01:00
Andrea Mazzoleni
0a89c6d196 Add testing for the new sdeplete() function 2015-10-28 19:45:12 +01:00
Andrea Mazzoleni
7e1d9138b5 Add the deplete operation at the data stream
It's used to read the content file up to the end to verify its CRC.
2015-10-28 19:36:24 +01:00
Andrea Mazzoleni
104c47d106 Add a proper signal handling
The most common signals are now intercepted with SA_RESTART
to allow a clean interruption.
2015-10-26 19:32:41 +01:00
Andrea Mazzoleni
e23397f8de Add new configuration file used in test 2015-10-18 23:08:57 +02:00
Andrea Mazzoleni
4c9da1fa43 Use a more severe error reporting for --force-device
We want to be sure that such messages are not ignored.
2015-10-18 23:04:56 +02:00
Andrea Mazzoleni
ec0f14d18f Add extra testing of the --force-device option 2015-10-18 23:02:38 +02:00
Andrea Mazzoleni
2b69cfa073 Extend the disk filtering to parity disk
You can now fix a specific parity disk,
without touching the others.
2015-10-17 17:36:40 +02:00
Andrea Mazzoleni
3e83b15bbb Extend --force-device to ignore more erroneous conditions
We want to allow fix also if some disk is unaccessible,
and content files not present.
2015-10-16 23:17:38 +02:00
Andrea Mazzoleni
841e6306e3 Avoid the duplicated 'Missing file' message
When fixing with filters, the filtered out files
were reported multiple times as missing.
We now mark if a file is missing, and we avoid
to try to open it multiple times.
2015-10-15 19:39:48 +02:00
Andrea Mazzoleni
c6526a1a97 Update SMART stats with BackBlaze data 2015 Q3 2015-10-14 21:52:35 +02:00
Andrea Mazzoleni
61f730497a Better tests for hard/symlinks 2015-10-14 21:51:35 +02:00
Andrea Mazzoleni
913afa0d7a Add descriptive tags in the regression test 2015-10-09 19:09:07 +02:00
Andrea Mazzoleni
8de54cb863 Better testing with fake devices 2015-10-09 18:35:24 +02:00
Andrea Mazzoleni
5ce1aa5bcc Add Travis CI testing for OS X 2015-10-08 22:45:24 +02:00
Andrea Mazzoleni
5969bc9139 Remove some conversion warnings 2015-10-08 22:33:50 +02:00
Andrea Mazzoleni
fb759fec84 Rename some shadow variables
This removes some warnings in gcc 4.6 version.
2015-10-08 22:33:41 +02: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
aa34b76203 Add a new test-read command for speed measurement 2015-10-08 19:00:55 +02:00
Andrea Mazzoleni
176a172411 Extend the Tommy tree regresison test 2015-10-08 18:42:02 +02:00
Andrea Mazzoleni
0c7ea790c3 Check the block state before getting the parity mapping
This case is not problematic, but we enforce the check order
for consistency.
2015-10-08 18:41:01 +02:00