Commit graph

86 commits

Author SHA1 Message Date
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
Andrea Mazzoleni
7e9a5e6a6d Stores the free space in the content file.
This avoids the need to access data and parity disks in
the status command.
Also removed some data disk access, in list, dup and similar
commands that don't need to scan the disks.
2014-11-09 19:14:29 +01:00
Andrea Mazzoleni
8ee1131bed Refactors some mapping/find_disk uses. 2014-11-09 10:51:48 +01:00
Andrea Mazzoleni
4419801674 Merges parity info in a parity struct. 2014-11-09 10:32:00 +01:00
Andrea Mazzoleni
447f1f1294 Makes fix to autodetect moved files and use them in recovering. 2014-10-19 22:25:30 +02:00
Andrea Mazzoleni
ca5e635aa1 In Windows ensures to use synced information for new files.
Keeps track of the sync state of info with a new st_sync field
in the stat struct.
2014-10-04 10:27:23 +02:00
Andrea Mazzoleni
876bddcf4c Beautifies the code. 2014-09-27 00:32:39 +02:00
Andrea Mazzoleni
1cd6c1ddde Uses a fixed size element for info.
Mostly for precaution. No real change in all supported platforms.
2014-08-31 17:51:06 +02:00
Andrea Mazzoleni
b3d8092c08 Clearifies some comments. 2014-07-01 22:56:18 +02:00
Andrea Mazzoleni
5dfc67ec18 Keeps stats about usage time of disk and cpu. 2014-06-25 22:32:36 +02:00
Andrea Mazzoleni
f7a060f6ab Fixes a wrong comment about REP blocks.
The hash of the REP block doesn't represent the old data.
2014-06-05 22:45:55 +02:00
Andrea Mazzoleni
de86307a27 Uses a smarter copy detection to avoid false positive.
Now a if the file has a zero nanosecond timestamp, it must
match the full pathname.
Also add the new -N option and an new undocumented test-nano
command to set randomly the nanosecond timestamp of files
that have it at zero.
2014-05-15 23:45:51 +02:00
Andrea Mazzoleni
16ddf36121 Uses a more specific message if UUID are not supported. 2014-04-03 23:02:43 +02:00
Andrea Mazzoleni
44ef039a13 Different source organization. 2014-03-23 17:50:27 +01:00
Renamed from src/elem.h (Browse further)