Andrea Mazzoleni
b853b4c406
More explicative StackTrace message
2016-01-02 12:23:48 +01:00
Andrea Mazzoleni
7ad70c26f8
Remove the need of helgrind/drd suppression
...
Using a mutex for protectign the global memory counter
should not affect performance.
2016-01-01 17:57:04 +01:00
Andrea Mazzoleni
b059457190
Disable multi thread for content write
...
It's not necessarely faster, so better to be safe
and avoid possible slowdown.
Also, the original reason of this feature was to detect
potential memory errors, but the original issue triggering this need
was instead not related to it. It was instead the problem to empty links.
2016-01-01 17:56:42 +01:00
Andrea Mazzoleni
354d51725b
Enable again multi write for content files for monothread environments
...
If no thread support is present, keep the old way to write content files.
2016-01-01 17:37:00 +01:00
Andrea Mazzoleni
f4289a9d7e
More explicative rename message
...
Some commands don't have UUID, and cannot detect
the rename.
2015-12-30 22:21:48 +01:00
Andrea Mazzoleni
a8e0214a9a
Clarify the message about text content file not supported
2015-12-29 08:05:32 +01:00
Andrea Mazzoleni
776c6a48ef
Add the new --no-warnings option for release
2015-12-28 14:49:10 +01:00
Andrea Mazzoleni
cacc1cb0ce
Autorename disks using UUID for matching
2015-12-28 13:55:22 +01:00
Andrea Mazzoleni
801d01c55b
Store UUIDs in the disk element
2015-12-28 12:09:13 +01:00
Andrea Mazzoleni
c80fd07058
Remove warnings when building with low optimizations
2015-12-20 17:23:58 +01:00
Andrea Mazzoleni
584c362ba4
Handle correctly files without offset
...
This avoid the warnings about duplicate offsets.
2015-12-20 17:19:57 +01:00
Andrea Mazzoleni
4d52890c32
Avoid the Windows abort dialog
2015-12-19 08:20:51 +01:00
Andrea Mazzoleni
d5c0a8c2f3
Support the case of an empty symlink
...
There is the report of a such condition in Windows.
2015-12-18 19:52:30 +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
96501697bb
More os_abort() use after decoding_error()
2015-12-12 18:17:30 +01:00
Andrea Mazzoleni
c7ed079f79
More info in case of the "Path too long" message
2015-12-12 17:56:44 +01:00
Andrea Mazzoleni
448774fb8f
Print also the too long path to help detection
2015-12-12 17:10:31 +01:00
Andrea Mazzoleni
7313e3d9d0
In case of the "Path too long" message prints the stacktrace
2015-12-12 17:10:28 +01:00
Andrea Mazzoleni
f8214de959
Adjust UUID printing in the log
2015-12-11 18:59:24 +01:00
Andrea Mazzoleni
5541f8d5e6
Add UUID reading support using libblkid
...
This fixes the Btrfs case where the root UUIDs are not
present in the /dev/disk/by-uuid directory.
2015-12-10 22:51:19 +01:00
Andrea Mazzoleni
fcc3894667
Add regression test for UUID change
2015-12-10 22:51:16 +01:00
Andrea Mazzoleni
cab1b43d3b
Add a missing newline in the force-empty message
2015-12-04 22:13:26 +01:00
Andrea Mazzoleni
f71ddbb3fd
Add backtrace support for internal errors
2015-12-04 22:02:31 +01:00
Andrea Mazzoleni
a66ccb5cc1
Some more regression tests for move/copy/invalidate
2015-12-01 23:44:06 +01:00
Andrea Mazzoleni
a79052baa6
Add a new --test-no-warnings option
...
It disables annoying warnings that expert user don't
want to see.
2015-11-24 18:49:20 +01:00
Andrea Mazzoleni
f389afe678
Avoid to log limits if not relevant for the scrub plan
2015-11-20 19:29:04 +01:00
Andrea Mazzoleni
193519d8fc
Fix a data race in Windows for the customized strerror()
...
To proper support multithread we have to use the thread local
storage for keeping the latest error.
2015-11-20 18:58:59 +01:00
Andrea Mazzoleni
d927a58e4e
Remove dead code about adjusting the first free parity position
...
We already known that the update of the first parity position
is never triggered, and then we can avoid to query the parity
position at all.
2015-11-20 18:29:53 +01:00
Andrea Mazzoleni
df22c18515
Remove abort() call left in for testing
2015-11-20 00:01:18 +01:00
Andrea Mazzoleni
13ebe5824f
Fix a possible data race in Windows for UTF-8 conversion
...
We had less conversion buffers than possible threads,
possibly resulting in a buffer used more than one time.
Now converted to use local stack buffers to avoid
the need of any kind of syncronization between threads.
2015-11-19 19:38:39 +01:00
Andrea Mazzoleni
b775135175
Fix a build issue when the pthread library is not available
2015-11-19 19:14:15 +01:00
Andrea Mazzoleni
910c7b717c
Fix a typo in a comment
2015-11-18 23:19:57 +01:00
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
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
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
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
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
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
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