Andrea Mazzoleni
e58621dada
Remove the now unused tommy_arrayblk
2016-11-03 18:43:37 +01:00
Andrea Mazzoleni
faa530e83e
Allow to change the output format
...
The new test option allows to restore the past
behaviour, just in case...
2016-10-11 20:30:12 +02:00
Andrea Mazzoleni
b3cc9192cd
Don't print disk dir in info
2016-05-29 19:23:42 +02:00
Andrea Mazzoleni
20cd1f86f8
Fix typos in comments
...
No functional change.
2016-05-23 22:37:18 +02:00
Andrea Mazzoleni
cdc0a1cd93
Rename chunk to extent
...
No functional change.
2016-05-23 22:10:05 +02:00
Andrea Mazzoleni
3c6c5c07c7
More extensive use of data_off_t
...
This avoids the need of some type cast.
2016-05-18 20:58:41 +02:00
Andrea Mazzoleni
32a57a5808
Apply filters also to empty dir
...
Doesn't always include them when using filter options.
2016-05-15 14:27:35 +02:00
Andrea Mazzoleni
f564e9b91a
Preliminary support for multiple parity files
...
This allows to split parity in different partitions.
2016-05-15 14:27:33 +02:00
Andrea Mazzoleni
5bf030c793
Disable some operations affected by hash collision
...
This only if we are working with a reduced hash length.
2016-04-10 19:13:08 +02:00
Andrea Mazzoleni
5b06549ee3
Make the hash size configurable
...
Only at source code level.
2016-04-07 21:39:02 +02:00
Andrea Mazzoleni
8d3cefb302
Allow compilation without pthread support
2016-03-18 18:45:35 +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
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
83889b4fbb
Add the "maybe" function also to par2file
2016-01-15 20:23:47 +01:00
Andrea Mazzoleni
06c8891b26
Merge branch 'b9'
...
Conflicts:
HISTORY
cmdline/elem.c
cmdline/elem.h
2016-01-15 20:16:06 +01:00
Andrea Mazzoleni
eaa89473b4
Keep different the functions that may not find the parity
2016-01-15 20:05:38 +01:00
Andrea Mazzoleni
56bef0d90f
Fix an invalid assumption about allocated parity
...
In the copy detection it's possible to need to
copy from a file wihout parity. This could result
in the parity position not found.
2016-01-15 19:50:21 +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
801d01c55b
Store UUIDs in the disk element
2015-12-28 12:09:13 +01:00
Andrea Mazzoleni
9bd0f18439
Replace assertions with more informative messages
2015-11-18 22:10:50 +01:00
Andrea Mazzoleni
1917814d2d
Restore the default scrub behaviour of the previous version
...
If the user like to scrub new blocks, he can now use the -p new
option, and then call again scrub with a percentage to scrub the
old blocks.
Scrubbing old and new blocks are two different operations, and make
sense to keep them separated. Mixing them could instead raise
problematic issues, like not being able to predict the time required
for a full scrub cycle, as it depends also on the amount of synced
data.
2015-11-09 23:34:41 +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
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
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
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
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
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
254db2cdbf
Fix a typo in a comment
2015-09-27 15:33:54 +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
de0c437bd2
Put a clear separation between log and msg functions
2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
214070dc4d
Add support for a new "smartctl" config option
...
This option allows to configure custom smartctl
commands for devices that cannot be autodetected.
2015-04-08 22:56:44 +02:00
Andrea Mazzoleni
e56de653da
Introduce a new messaging system
2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
2ac751b6d9
Put all the stdout output also in stdlog
2015-02-03 19:35:43 +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
5665336c16
Change the rule output format to match the input one
2015-01-27 23:32:13 +01:00
Andrea Mazzoleni
83e1629868
When excluding files print also the rule excluding them
2015-01-27 23:10:38 +01:00
Andrea Mazzoleni
c6c9e9130e
Adds new badonly and synced only options.
...
They are enabled with -e, --filter-error to limit
the operations to only bad blocks and avoiding to
restore not synced files.
2014-12-29 08:50:20 +01:00