Commit graph

77 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
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
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
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
aef11798b0 Clarify why filters could be rejected with a proper message 2015-05-30 13:18:16 +02:00
Andrea Mazzoleni
de0c437bd2 Put a clear separation between log and msg functions 2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
a5a72f4a31 Change some warnings to errors to always print them on screen 2015-04-19 21:13:05 +02:00
Andrea Mazzoleni
4af4504515 Validate the smartctl string before accepting it 2015-04-10 18:29:06 +02:00
Andrea Mazzoleni
228ca866e2 Fix a missed initialization of the new smartctl variable 2015-04-08 23:10:43 +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
36061561cc Some more GiB to GB conversion 2015-03-29 23:18:30 +02:00
Andrea Mazzoleni
3a4ce0b1e2 Use GB instead of GiB to be more consistent with HD size. 2015-03-29 22:18:21 +02:00
Andrea Mazzoleni
21ce043725 Use manual line buffering for stdout/stderr.
This is needed for Windows where line buffering is not supported.
2015-03-23 22:57:36 +01:00
Andrea Mazzoleni
e56de653da Introduce a new messaging system 2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
fa5f31ddf9 Move stream implementation to a specific source file 2015-02-21 09:00:34 +01:00
Andrea Mazzoleni
f6611557d0 Remove some override in reading the binary state.
They have no chance to work as a wrong blockmax would
unsych the stream.
2015-02-19 19:47:22 +01:00
Andrea Mazzoleni
84949d96da Add an extra CRC check on the data written to the streams
This is intented to detect memory errors during the processing.
2015-02-18 19:27:59 +01:00
Andrea Mazzoleni
0a657cbdb0 Make the quiet option to hide the progress bar 2015-02-04 08:10:39 +01:00
Andrea Mazzoleni
2ac751b6d9 Put all the stdout output also in stdlog 2015-02-03 19:35:43 +01:00
Andrea Mazzoleni
3884af54ea Put the "Stopping" message into stderr 2015-02-03 18:53:23 +01:00
Andrea Mazzoleni
798de7ca99 Change the flush logic for streams
Now stdout and stderr are always line buffered, and stdlog only
flushed on request.
2015-02-03 18:29:11 +01:00
Andrea Mazzoleni
b5ce575981 Change the log and output handling
Now the log file contains all the errors messages,
and all the tag lines.
2015-02-02 23:39:46 +01:00
Andrea Mazzoleni
ce20be0ded Count disks skipping the holes in the parity number warning 2015-02-02 21:17:15 +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
17631345c6 Log the filter rules in the config file 2015-01-27 23:32:51 +01:00
Andrea Mazzoleni
83e1629868 When excluding files print also the rule excluding them 2015-01-27 23:10:38 +01:00
Andrea Mazzoleni
0152f289f4 Adds the elapsed time in seconds in the -G progress output. 2015-01-06 22:29:22 +01:00
Andrea Mazzoleni
ffe7f6fa57 Adds new files support.c/h for low level support functions. 2015-01-02 18:52:04 +01:00
Andrea Mazzoleni
8c98864395 Uses the OS random support instead of rand(). 2014-12-27 11:56:55 +01:00
Andrea Mazzoleni
d9908487ea Beautifies cmdline program. 2014-11-12 20:47:07 +01:00
Andrea Mazzoleni
87e6497665 Checks parity UUID before proceding. 2014-11-09 19:51:58 +01:00
Andrea Mazzoleni
af4ec2286f Prints parity uuid in --gen-conf. 2014-11-09 19:37:25 +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
7054256c62 Ensures to test also the progress update. 2014-11-04 23:51:45 +01:00
Andrea Mazzoleni
88e53fd9a3 Removes count block info when reading/writing content file. 2014-11-01 16:53:11 +01:00
Andrea Mazzoleni
63f53a9274 Adds more info in the progress bar info for -G option. 2014-10-21 22:10:54 +02: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
e17f12f26b Changes the import command to use a new timestamp recognition.
This avoid the need of prehashing all the data, that could
be very slow.
2014-10-19 21:07:17 +02:00
Andrea Mazzoleni
c513af08ff Ensures to call lstat_ex() only on regular files. 2014-10-01 21:44:35 +02:00