Andrea Mazzoleni
a3121c31c5
Add support for multithread parity writing in sync
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
e69e8640ce
Use pread also in import and search
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
18cc80bd7e
Now pread and pwrite use is required for multithread
...
We need to support concurrent access at the same file handle
from multiple threads, and they cannot share the same file pointer.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
62b7587c3a
IO functions renaming to prepare for parity write support
...
No functional change.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
d9f7657107
Remove the unnecessary parity_ptr variable in sync
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
0849bfc261
Use a thread-safe pread/pwrite implementation for Windows
...
This may be useful in future for concurrent calls to the same file.
2016-01-09 10:25:56 +01: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
55ac2b0d25
Use a lot more read-ahead buffers
...
This improves the performance even more.
2016-01-09 10:25:47 +01:00
Andrea Mazzoleni
afd29347bb
Restore the io error limit feature for multithread support
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
cbf2040b89
Add mutex protection at the filesystem structure
...
In sync we need to modify the filesystem, like to call
fs_deallocate(). We need then proper protection.
This also removes the need of multiple fs_last cached value.
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
74204a42d7
Add support for multithread data reading in sync
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
51af8931b7
Add support for multithread data and parity reading in scrub
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
3c00248aa6
Add level knownledge to parity handle
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
a279333c0b
Alternate scrub next block computation
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
2f5c6a39a9
Fix unaligned memory access in import
...
After extent conversion, the hash is not not aligned anymore,
and we cannot cast anymore to uint32.
2016-01-09 10:06:37 +01:00
Andrea Mazzoleni
9d4fd25774
Avoid a float division by zero in testing
...
In the regression testing the fake probability goes
to 0, resulting in an impossible division.
2016-01-09 10:05:57 +01:00
Andrea Mazzoleni
a45641dcc9
Add explicit conversion to unsigned from byte
...
Implicit conversion is to signed int, that may overlow,
resulting in what C considers undefined behaviour.
Better to avoid it.
2016-01-09 10:01:33 +01:00
Andrea Mazzoleni
9b918c3ca0
Some more coverage commenting
2016-01-06 00:26:24 +01:00
Andrea Mazzoleni
84f7a623ab
Be more verbose in log and messages about UUID
2016-01-05 23:35:55 +01:00
Andrea Mazzoleni
cc8ca88ecf
Add some more coverage exclusions
2016-01-05 12:23:05 +01:00
Andrea Mazzoleni
c879140663
Print the exit status of addr2line
2016-01-05 11:16:03 +01:00
Andrea Mazzoleni
fe20160958
Fix the precision field in the addr2line call
...
It must be a int type in x64.
2016-01-05 11:04:04 +01:00
Andrea Mazzoleni
62aba9228a
Add a new test option to force parity update
2016-01-04 10:43:43 +01:00
Andrea Mazzoleni
5249f9cb04
Fix various typos in comments
2016-01-02 16:52:20 +01:00
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