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