Commit graph

75 commits

Author SHA1 Message Date
Andrea Mazzoleni
5b06549ee3 Make the hash size configurable
Only at source code level.
2016-04-07 21:39:02 +02:00
Andrea Mazzoleni
fe3ad31cbb Allow to disable the multithread mode
Use the --test-io-cache=1 option to use a special
monothread mode.
2016-03-18 18:33:11 +01:00
Andrea Mazzoleni
840ec7b1c3 Use precise quoting for the shell commands 2016-02-10 21:30:54 +01:00
Andrea Mazzoleni
12b30c198e Use a thread-safe esc() function with a local buffer 2016-02-09 23:12:33 +01:00
Andrea Mazzoleni
4a418e158a Add time stats also for thread scheduling 2016-01-31 18:08:39 +01:00
Andrea Mazzoleni
252d613eae Print stats of the number of cached blocks 2016-01-27 20:37:31 +01:00
Andrea Mazzoleni
846c02e2c1 Preliminary usage graph 2016-01-26 23:47:59 +01:00
Andrea Mazzoleni
affc60e256 Allocate only the minimal necessary waiting vector
This is more clear to understand.
2016-01-21 18:52:45 +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
488d1ffa5d Rename handle_map() to avoid a shadow variable 2016-01-18 22:38:01 +01:00
Andrea Mazzoleni
d2991f736c Function renaming to get better consistency 2016-01-16 14:30:08 +01:00
Andrea Mazzoleni
74fa6e9274 Add the "maybe" function also to par2block 2016-01-15 20:36:20 +01:00
Andrea Mazzoleni
f64047c412 Save the content file only after --pre-hash
This allow recovering of moved files.
2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
c570f0e3a0 Count separately silent errors in prehash 2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
7cb33cc046 Add the new --test-io-cache option to control the cache size 2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
da5be1c5a7 Reduce memory occupation for MT
The copy buffer doesn't need a copy for each thread.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
4191989fa7 Restore error reporting for parity write 2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
a3121c31c5 Add support for multithread parity writing in sync 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
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
3c00248aa6 Add level knownledge to parity handle 2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
62aba9228a Add a new test option to force parity update 2016-01-04 10:43:43 +01:00
Andrea Mazzoleni
452a595067 Adjust verbs in comments 2015-10-07 22:07:20 +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
Andrea Mazzoleni
fa775d24a8 More interface changes to prepare to the use of tree mapping 2015-10-04 22:03:58 +02:00
Andrea Mazzoleni
0407c945db Change the interface for parity allocation
This will allow a more compact representation
of the parity allocation
2015-10-01 23:24:06 +02:00
Andrea Mazzoleni
49bcad5448 Extend the -h option to check also copied/moved files 2015-09-29 22:31:13 +02:00
Andrea Mazzoleni
3bf691ff7d On data error, prints the number of different bits 2015-09-12 15:19:52 +02:00
Andrea Mazzoleni
9a5f30cd32 Add a new justsynced info bit to position
The value 0 means that the block is scrubbed, and it allows
an easy conversion of past content files.
Note that past versions ignore this info when using binary
content files, then we don't increase the version of the format.
2015-08-27 18:02:12 +02:00
Andrea Mazzoleni
de0c437bd2 Put a clear separation between log and msg functions 2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
adbc74f862 Suppress missing file warnings if -m is specified 2015-04-19 21:21:49 +02:00
Andrea Mazzoleni
1bbca4ca40 Remove impossible condition about io_error in hashing 2015-03-26 19:37:21 +01:00
Andrea Mazzoleni
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
ea07a7025e Escape path in the log file 2015-02-12 22:55:05 +01:00
Andrea Mazzoleni
2ac751b6d9 Put all the stdout output also in stdlog 2015-02-03 19:35:43 +01:00
Andrea Mazzoleni
3884af54ea Put the "Stopping" message into stderr 2015-02-03 18:53:23 +01:00
Andrea Mazzoleni
798de7ca99 Change the flush logic for streams
Now stdout and stderr are always line buffered, and stdlog only
flushed on request.
2015-02-03 18:29:11 +01:00
Andrea Mazzoleni
80d51384ac Adjust some error messages in some commands 2015-02-03 18:12:52 +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
ad57aafd8f Refactor the parity size detection before sync.
Now we resize the parity only after checking the size of all
the parity file.
2015-02-01 18:48:50 +01:00
Andrea Mazzoleni
ed8686a93e Sync the parity file before printing Everything OK
This avoids misinterpretation in case of errors.
2015-01-31 16:44: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
0b59dc92a6 Allows sync and scrub to continue on input/output errors.
There is an upper limit on the allowed errors in
the new opt.io_error_limit variable.
2014-12-30 09:45:35 +01:00
Andrea Mazzoleni
aee56ba2c7 Prints a final warning in case of silent error for sync and scrub. 2014-12-29 19:36:01 +01:00
Andrea Mazzoleni
47c2165f63 Removes duplicate code introducing block_is_enabled(). 2014-12-29 19:11:03 +01:00
Andrea Mazzoleni
1f70f1ea33 Uses a better error detection in sync/scrub. 2014-12-27 23:14:06 +01:00