Commit graph

119 commits

Author SHA1 Message Date
Andrea Mazzoleni
4a418e158a Add time stats also for thread scheduling 2016-01-31 18:08:39 +01:00
Andrea Mazzoleni
3040099e48 Optimizes console writes for Windows 2016-01-30 09:17:30 +01:00
Andrea Mazzoleni
6da3469fe7 When clearing the screen move the cursor to the top 2016-01-30 09:17:10 +01:00
Andrea Mazzoleni
bf1f7dda7c Avoid warnings for printf usage without format 2016-01-28 19:32:31 +01:00
Andrea Mazzoleni
895eb6b36c Add the new --test-io-stats to show graphs, and reformat them 2016-01-27 22:26:25 +01:00
Andrea Mazzoleni
34d02d4b41 Group print functions 2016-01-27 22:25:02 +01:00
Andrea Mazzoleni
11a8e301f4 Clear the screen before printing stats 2016-01-27 22:24:59 +01:00
Andrea Mazzoleni
252d613eae Print stats of the number of cached blocks 2016-01-27 20:37:31 +01:00
Andrea Mazzoleni
5f8fd36b45 Use progress values for the usage graph 2016-01-27 18:19:31 +01:00
Andrea Mazzoleni
489613097c In the usage vector store also the latest measure
This reduces the number of past measure by one.
2016-01-26 23:57:30 +01:00
Andrea Mazzoleni
846c02e2c1 Preliminary usage graph 2016-01-26 23:47:59 +01:00
Andrea Mazzoleni
e2c4399e28 More precise disk usage time
When we wait, we now count the time for all the waiting disks,
and not only for the first one that finish.
2016-01-20 21:30:00 +01:00
Andrea Mazzoleni
adbf4f25c2 Allow 'smart' without a configuration file 2016-01-18 22:36:06 +01:00
Andrea Mazzoleni
d2991f736c Function renaming to get better consistency 2016-01-16 14:30:08 +01:00
Andrea Mazzoleni
9ade11483e Fix some misuses of the MiB and MB units 2016-01-16 07:29:00 +01:00
Andrea Mazzoleni
74fa6e9274 Add the "maybe" function also to par2block 2016-01-15 20:36:20 +01:00
Andrea Mazzoleni
3ea770d19a Fix a potential division by zero with a malformed content
Only when using the -C option. Found with AFL (American Fuzzy Lop).
2016-01-12 23:03:11 +01:00
Andrea Mazzoleni
84c089aae4 Use 'data' in the configuration file instead of 'disk' 2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
d71b1b21b6 Always print the CPU value, even if 0%
In dry, it's really 0.
2016-01-09 10:25:56 +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
5249f9cb04 Fix various typos in comments 2016-01-02 16:52:20 +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
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
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
96501697bb More os_abort() use after decoding_error() 2015-12-12 18:17:30 +01:00
Andrea Mazzoleni
fcc3894667 Add regression test for UUID change 2015-12-10 22:51:16 +01:00
Andrea Mazzoleni
f71ddbb3fd Add backtrace support for internal errors 2015-12-04 22:02:31 +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
b775135175 Fix a build issue when the pthread library is not available 2015-11-19 19:14:15 +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
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
Andrea Mazzoleni
204656b129 Verify the CRC of content files after writing them 2015-10-28 22:04:04 +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
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
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
fb759fec84 Rename some shadow variables
This removes some warnings in gcc 4.6 version.
2015-10-08 22:33:41 +02:00
Andrea Mazzoleni
452a595067 Adjust verbs in comments 2015-10-07 22:07:20 +02:00
Andrea Mazzoleni
25fe6a252c Extend filesystem support for deallocation in the middle
This could happen in some special cases
2015-10-05 22:48:16 +02:00
Andrea Mazzoleni
b17e618d49 Add an extensive parity filesystem check
With the new mapping it's now possible to check everything
in a very fast way.
2015-10-05 21:40:44 +02:00
Andrea Mazzoleni
9bc5f9e5ce Change the internal mapping to a tree of chunk
This is intended to save memory as now we can use a fixed
block of 17 bytes to store the block information, compared
to the previous 28/36 bytes.
2015-10-04 23:17:13 +02:00