Commit graph

1496 commits

Author SHA1 Message Date
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
4da8714dce Update HISTORY 2016-01-18 19:05:30 +01:00
Andrea Mazzoleni
22f2a6c884 Restore the use of -O2 for Windows binaries 2016-01-16 22:32:57 +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
3194ea653f Update HISTORY 2016-01-15 19:57:02 +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
79cc789e98 Update TODO 2016-01-11 18:54:53 +01:00
Andrea Mazzoleni
89477202fe Merge branch 'mt' 2016-01-09 17:32:42 +01:00
Andrea Mazzoleni
58e05e2dfe Update HISTORY 2016-01-09 17:30:38 +01:00
Andrea Mazzoleni
d5d4d7896e Message beautification in the regression test 2016-01-09 17:22:40 +01:00
Andrea Mazzoleni
d6ccca3106 Ensure that in the regression test to recognize a different file
We have failures in Travis for Mac for this issue.
2016-01-09 17:19:45 +01:00
Andrea Mazzoleni
984ea5a329 Log info about the filesystem used 2016-01-09 17:19:43 +01:00
Andrea Mazzoleni
e5ab577b6d Add the new makesan.sh script and some more comments 2016-01-09 11:19:53 +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
56a27b394f Extend the multithread regression test 2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
f93b1845f5 Add support for various sanitizers 2016-01-09 11:19:52 +01:00
Andrea Mazzoleni
da5ef977e3 Add the no-warnings option in the regression test 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