Andrea Mazzoleni
846c02e2c1
Preliminary usage graph
2016-01-26 23:47:59 +01:00
Andrea Mazzoleni
6f004d13ce
Allow -d, --disk in 'up' and 'down'
2016-01-23 15:31:30 +01:00
Andrea Mazzoleni
affc60e256
Allocate only the minimal necessary waiting vector
...
This is more clear to understand.
2016-01-21 18:52:45 +01:00
Andrea Mazzoleni
377352e64f
Default to 8 MiB of blocks for the IO cache
2016-01-20 22:03:14 +01:00
Andrea Mazzoleni
e2c4399e28
More precise disk usage time
...
When we wait, we now count the time for all the waiting disks,
and not only for the first one that finish.
2016-01-20 21:30:00 +01:00
Andrea Mazzoleni
2156c864b7
Remove the shadow 'index' variable with older gcc
2016-01-18 22:58:00 +01:00
Andrea Mazzoleni
68e4a053cd
Remove some warnings without optimizations
2016-01-18 22:39:39 +01:00
Andrea Mazzoleni
488d1ffa5d
Rename handle_map() to avoid a shadow variable
2016-01-18 22:38:01 +01:00
Andrea Mazzoleni
adbf4f25c2
Allow 'smart' without a configuration file
2016-01-18 22:36:06 +01:00
Andrea Mazzoleni
9d3773a2d4
Rename the 'nano' command to 'touch'
2016-01-18 19:41:04 +01:00
Andrea Mazzoleni
3e30cfc3f2
Better nano message in 'status'
2016-01-18 19:23:37 +01:00
Andrea Mazzoleni
edbd51f3bf
Log in diff why a file is different than before
2016-01-18 19:05:46 +01:00
Andrea Mazzoleni
d2991f736c
Function renaming to get better consistency
2016-01-16 14:30:08 +01:00
Andrea Mazzoleni
9ade11483e
Fix some misuses of the MiB and MB units
2016-01-16 07:29:00 +01:00
Andrea Mazzoleni
74fa6e9274
Add the "maybe" function also to par2block
2016-01-15 20:36:20 +01:00
Andrea Mazzoleni
83889b4fbb
Add the "maybe" function also to par2file
2016-01-15 20:23:47 +01:00
Andrea Mazzoleni
06c8891b26
Merge branch 'b9'
...
Conflicts:
HISTORY
cmdline/elem.c
cmdline/elem.h
2016-01-15 20:16:06 +01:00
Andrea Mazzoleni
eaa89473b4
Keep different the functions that may not find the parity
2016-01-15 20:05:38 +01:00
Andrea Mazzoleni
56bef0d90f
Fix an invalid assumption about allocated parity
...
In the copy detection it's possible to need to
copy from a file wihout parity. This could result
in the parity position not found.
2016-01-15 19:50:21 +01:00
Andrea Mazzoleni
3ea770d19a
Fix a potential division by zero with a malformed content
...
Only when using the -C option. Found with AFL (American Fuzzy Lop).
2016-01-12 23:03:11 +01:00
Andrea Mazzoleni
8e443bd767
Promote 'nano' as a documented command
2016-01-11 22:15:57 +01:00
Andrea Mazzoleni
6ac01901b0
In 'status' print the number of files with zero subsecond timestamp
2016-01-11 21:56:19 +01:00
Andrea Mazzoleni
f64047c412
Save the content file only after --pre-hash
...
This allow recovering of moved files.
2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
c570f0e3a0
Count separately silent errors in prehash
2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
84c089aae4
Use 'data' in the configuration file instead of 'disk'
2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
7cb33cc046
Add the new --test-io-cache option to control the cache size
2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
984ea5a329
Log info about the filesystem used
2016-01-09 17:19:43 +01:00
Andrea Mazzoleni
9430106c71
Allow to disable inline assembly from configure
...
This is required for the -fsanitize options that don't
support inline assembly statements.
2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
2e12b10590
Signal condition variables outside the lock
...
This reduces the number of context switches, because the
signaled thread can start immediately.
Some interesting discussion is at:
Condvars: signal with mutex locked or not?
http://www.domaigne.com/blog/computing/condvars-signal-with-mutex-locked-or-not/
Calling pthread_cond_signal without locking mutex
4544494 (4544494)
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
8e47e2b024
Signal the 'done' condition only at the waiting index
...
This reduces the number of context switches.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
22d806a04f
Minor beatification at the IO module
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
d71b1b21b6
Always print the CPU value, even if 0%
...
In dry, it's really 0.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
c870b04b66
Refactor locks use in support
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
ec5b383c1d
Add support for multithread data and parity reading in dry
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
e15b5b122c
Remove the unnecessary parity_ptr variable in dry
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
da5be1c5a7
Reduce memory occupation for MT
...
The copy buffer doesn't need a copy for each thread.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
fb404ef149
Print the amount of memory used for MT
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
4191989fa7
Restore error reporting for parity write
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
fa635f72b8
In the check log write status:correct only in verbose mode
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
a3121c31c5
Add support for multithread parity writing in sync
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
e69e8640ce
Use pread also in import and search
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
18cc80bd7e
Now pread and pwrite use is required for multithread
...
We need to support concurrent access at the same file handle
from multiple threads, and they cannot share the same file pointer.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
62b7587c3a
IO functions renaming to prepare for parity write support
...
No functional change.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
d9f7657107
Remove the unnecessary parity_ptr variable in sync
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
0849bfc261
Use a thread-safe pread/pwrite implementation for Windows
...
This may be useful in future for concurrent calls to the same file.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
b619b9bee1
Use a faster memory test
...
We have now many buffers to test, and we need a faster test.
2016-01-09 10:25:56 +01:00
Andrea Mazzoleni
55ac2b0d25
Use a lot more read-ahead buffers
...
This improves the performance even more.
2016-01-09 10:25:47 +01:00
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