Andrea Mazzoleni
afd29347bb
Restore the io error limit feature for multithread support
2016-01-09 10:18:14 +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
74204a42d7
Add support for multithread data reading in sync
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
3c00248aa6
Add level knownledge to parity handle
2016-01-09 10:18:14 +01:00
Andrea Mazzoleni
62aba9228a
Add a new test option to force parity update
2016-01-04 10:43:43 +01:00
Andrea Mazzoleni
452a595067
Adjust verbs in comments
2015-10-07 22:07:20 +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
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
49bcad5448
Extend the -h option to check also copied/moved files
2015-09-29 22:31:13 +02:00
Andrea Mazzoleni
3bf691ff7d
On data error, prints the number of different bits
2015-09-12 15:19:52 +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
adbc74f862
Suppress missing file warnings if -m is specified
2015-04-19 21:21:49 +02:00
Andrea Mazzoleni
1bbca4ca40
Remove impossible condition about io_error in hashing
2015-03-26 19:37:21 +01:00
Andrea Mazzoleni
e56de653da
Introduce a new messaging system
2015-02-22 14:31:03 +01:00
Andrea Mazzoleni
ea07a7025e
Escape path in the log file
2015-02-12 22:55:05 +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
80d51384ac
Adjust some error messages in some commands
2015-02-03 18:12:52 +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
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
ed8686a93e
Sync the parity file before printing Everything OK
...
This avoids misinterpretation in case of errors.
2015-01-31 16:44:46 +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
0b59dc92a6
Allows sync and scrub to continue on input/output errors.
...
There is an upper limit on the allowed errors in
the new opt.io_error_limit variable.
2014-12-30 09:45:35 +01:00
Andrea Mazzoleni
aee56ba2c7
Prints a final warning in case of silent error for sync and scrub.
2014-12-29 19:36:01 +01:00
Andrea Mazzoleni
47c2165f63
Removes duplicate code introducing block_is_enabled().
2014-12-29 19:11:03 +01:00
Andrea Mazzoleni
1f70f1ea33
Uses a better error detection in sync/scrub.
2014-12-27 23:14:06 +01:00
Andrea Mazzoleni
bc4d2dc3f6
Keeps track of IO errors in scrub like we do for silent errors.
2014-12-07 00:07:36 +01:00
Andrea Mazzoleni
f200a1f6b8
Refreshes free space info also before first content write.
2014-12-07 00:06:53 +01:00
Andrea Mazzoleni
d9908487ea
Beautifies cmdline program.
2014-11-12 20:47:07 +01:00
Andrea Mazzoleni
c647e75885
Adds regression test for autosave.
2014-11-10 23:06:14 +01:00
Andrea Mazzoleni
baef69c949
Takes extra precautions of flushing disk cache with autosave.
...
We must flush every time we save the content file, not only
the last time.
2014-11-10 22:46:19 +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
4419801674
Merges parity info in a parity struct.
2014-11-09 10:32:00 +01:00
Andrea Mazzoleni
7718e6d206
Renames snapraid_parity to handle.
2014-11-09 10:25:39 +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
4886a5d13f
Gives a hint about filled disks in parity write error.
2014-10-12 10:50:48 +02:00
Andrea Mazzoleni
876bddcf4c
Beautifies the code.
2014-09-27 00:32:39 +02:00
Andrea Mazzoleni
0583799ad0
Avoids fake identation.
2014-09-27 00:23:05 +02:00
Andrea Mazzoleni
5dc4365394
Removes some clang warnings.
2014-09-17 21:49:37 +02:00
Andrea Mazzoleni
4adcf7c5cc
Prints time stats also in scrub.
2014-09-08 21:18:11 +02:00
Andrea Mazzoleni
6700b928c2
Adds a new file_mode setting to control the file access mode.
2014-09-04 22:52:04 +02:00
Andrea Mazzoleni
eb5b8da65c
Adds a missing cpu time call.
...
Not really relevant, just for completeness.
2014-08-02 10:15:23 +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
c6a3742b40
Adds the new -F, --force-full option to force a full sync.
2014-06-15 19:01:07 +02:00
Andrea Mazzoleni
efd63bc032
Renames "undetermined" to "past" as it represents better the meaning.
2014-06-13 20:52:03 +02:00