Commit graph

1344 commits

Author SHA1 Message Date
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
80476c480b Delayed CRC computation of the buffer used in writing
This should help to detect more memory errors when writing
the content files.
2015-10-29 22:32:07 +01:00
Andrea Mazzoleni
204656b129 Verify the CRC of content files after writing them 2015-10-28 22:04:04 +01:00
Andrea Mazzoleni
0a89c6d196 Add testing for the new sdeplete() function 2015-10-28 19:45:12 +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
104c47d106 Add a proper signal handling
The most common signals are now intercepted with SA_RESTART
to allow a clean interruption.
2015-10-26 19:32:41 +01:00
Andrea Mazzoleni
e23397f8de Add new configuration file used in test 2015-10-18 23:08:57 +02: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
ec0f14d18f Add extra testing of the --force-device option 2015-10-18 23:02:38 +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
61f730497a Better tests for hard/symlinks 2015-10-14 21:51:35 +02:00
Andrea Mazzoleni
913afa0d7a Add descriptive tags in the regression test 2015-10-09 19:09:07 +02:00
Andrea Mazzoleni
8de54cb863 Better testing with fake devices 2015-10-09 18:35:24 +02:00
Andrea Mazzoleni
5ce1aa5bcc Add Travis CI testing for OS X 2015-10-08 22:45: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
f36468c399 Configure travis to use the new infrastucture 2015-10-07 22:26:10 +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
52212305a5 Update HISTORY 2015-10-05 23:04:13 +02:00
Andrea Mazzoleni
e60fafa20e Merge branch 'maptree'
Conflicts:
	cmdline/elem.h
2015-10-05 22:54:31 +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
20043778e4 Update manual and history for the new memory usage 2015-10-04 23:17:17 +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
68309cf013 Fix an issue when setting the file pointer
In true it had no effect, as it's used only in one case,
with the field a 0.
2015-10-01 22:39:09 +02:00
Andrea Mazzoleni
2801634aa4 Some more notes about the planned changes 2015-09-29 22:51:17 +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
50eceaa7ec Add more tests for the new -p option 2015-09-27 15:27:26 +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