Commit graph

321 commits

Author SHA1 Message Date
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
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
8de54cb863 Better testing with fake devices 2015-10-09 18:35: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
Andrea Mazzoleni
2df022c38b Extend the CRC regression test 2015-10-08 18:40:36 +02:00
Andrea Mazzoleni
610c59e1d8 Fix an inconsistency check about not mapped copied files 2015-10-07 23:18:06 +02:00
Andrea Mazzoleni
a8de121b98 Print more info in case of internal incorsistency in the file mapping 2015-10-07 22:19:10 +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
74ca71600d Optimize the access at the mapping trees
We access them sequentially, and keeping the last accessed block
is enough to improve the speed.
2015-10-04 23:47:06 +02:00
Andrea Mazzoleni
cb17124cec Remove unused text stream functions 2015-10-04 23:17:17 +02:00
Andrea Mazzoleni
0c3bfb9b48 Remove coverage need for malloc failure functions 2015-10-04 23:17:17 +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
f719ee4f57 Switch from deleted blocks to deleted files
This will allow an easier management of the parity allocation.
2015-10-01 23:24:44 +02:00
Andrea Mazzoleni
23983d6e9c Drop text file support 2015-10-01 23:24:44 +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
254db2cdbf Fix a typo in a comment 2015-09-27 15:33:54 +02:00
Andrea Mazzoleni
2555248645 Extend the -p option with bad/sync/full arguments 2015-09-13 15:48:05 +02:00
Andrea Mazzoleni
a7c4f082b3 Use size_t where appropriate 2015-09-13 15:36:36 +02:00
Andrea Mazzoleni
8bc16009bd Fix build issue due wrong declaration 2015-09-13 11:41:49 +02:00
Andrea Mazzoleni
3bf691ff7d On data error, prints the number of different bits 2015-09-12 15:19:52 +02:00
Andrea Mazzoleni
167d1edfec Add some missing log_tag() when opening files 2015-09-02 19:44:48 +02:00
Andrea Mazzoleni
0c9f5f8326 Use a different approach when dealing with badblock filtering
This allows to postprocess files setting the right time on them.
2015-09-02 19:37:24 +02:00
Andrea Mazzoleni
fb3d0fbe70 Add some missing log_tag() when closing files 2015-09-02 19:29:35 +02:00
Andrea Mazzoleni
527b798094 Add an additional crc check in mkstream 2015-08-31 22:45:10 +02:00
Andrea Mazzoleni
0ba25d5304 Fix an invalid assumption when using the -e option
With -e we cannot postprocess files as we don't have any guarantee
to fully process them, as the select blocks cover likely only
a subset of the file.
2015-08-31 22:01:34 +02:00
Andrea Mazzoleni
cca2cbb23f Scrub first the just synced blocks 2015-08-27 18:58:25 +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
77117b1cd5 Add some more warning checks, and fix the ones reported 2015-08-05 09:42:11 +02:00
Andrea Mazzoleni
d493277ea1 Reject invalid filter specifications 2015-08-03 19:31:07 +02:00
Andrea Mazzoleni
ebe3b06228 Customize message for mount point not accessible 2015-06-23 21:39:18 +02:00
Andrea Mazzoleni
d7ce033933 Rename some error tag adding the missing underscore
This makes the tags consistent with others.
2015-06-23 21:37:51 +02:00
Andrea Mazzoleni
6a19a3d3e2 Fix a typo in the status command 2015-06-11 19:16:50 +02:00
Andrea Mazzoleni
aef11798b0 Clarify why filters could be rejected with a proper message 2015-05-30 13:18:16 +02:00
Andrea Mazzoleni
8efa1ddfca Cleanup of hash functions 2015-05-10 17:17:42 +02:00
Andrea Mazzoleni
41a3692430 Print more details in search/import if a file disappears 2015-05-05 22:09:46 +02:00
Andrea Mazzoleni
246c1d3b72 Be more specific in the empty message 2015-04-30 22:05:53 +02:00
Andrea Mazzoleni
ff28bc711c Recompute the SMART 193 table using a limit of 98%
This avoid to compute a very high failure rate for
very high values of the 193 attribute.
2015-04-30 21:43:01 +02:00
Andrea Mazzoleni
5c5e80a239 Change the return code for 'diff' if a sync is required 2015-04-28 19:15:16 +02:00