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
f71ddbb3fd
Add backtrace support for internal errors
2015-12-04 22:02:31 +01:00
Andrea Mazzoleni
df22c18515
Remove abort() call left in for testing
2015-11-20 00:01:18 +01:00
Andrea Mazzoleni
9bd0f18439
Replace assertions with more informative messages
2015-11-18 22:10:50 +01:00
Andrea Mazzoleni
6b55d2a292
Add extra assertions and consistency checks
2015-11-16 22:54:00 +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
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
a8de121b98
Print more info in case of internal incorsistency in the file mapping
2015-10-07 22:19:10 +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
cca2cbb23f
Scrub first the just synced blocks
2015-08-27 18:58:25 +02:00
Andrea Mazzoleni
d493277ea1
Reject invalid filter specifications
2015-08-03 19:31:07 +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
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
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
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
ffe7f6fa57
Adds new files support.c/h for low level support functions.
2015-01-02 18:52:04 +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
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
35fb2085dc
Removes unused code.
2014-06-28 12:12:51 +02:00
Andrea Mazzoleni
03fc05e93c
Removes the new .backup feature.
...
I'm not yet convinced that it's a good idea, because it may
end in unexpected errors if the old content file is used
as it's it.
2014-06-25 22:51:26 +02:00
Andrea Mazzoleni
5dfc67ec18
Keeps stats about usage time of disk and cpu.
2014-06-25 22:32:36 +02:00
Andrea Mazzoleni
da08ca4497
Makes a backup copy of the content file.
...
Before overwriting the existing content file, rename it
adding the .backup extension, but only if such content file
was read and validated.
2014-06-13 18:23:24 +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