Andrea Mazzoleni
836fd6b1e0
Add a new undocumented --filter-block-error option
2021-07-08 08:07:03 +02:00
Andrea Mazzoleni
24f746bf82
Use localtime_r() when available
...
No effect on the monothread context, but avoid warnings from static analysis.
2021-05-30 15:52:55 +02:00
Andrea Mazzoleni
4653dde7c5
Fixed false positive warnings from static analysis
...
The number of buffer and the hash size are always a small number. It never reash the 4 GB limit.
2021-05-30 15:50:13 +02:00
Andrea Mazzoleni
53801b407a
Remove the need of the MingW pthread layer on the Windows port
...
Now everything is implemented usign Windows native calls.
2021-05-26 00:21:52 +02:00
Andrea Mazzoleni
7ce88e5f18
Remove unncessary assignment
2021-05-25 13:32:26 +02:00
Andrea Mazzoleni
ec7c4de3c9
Fix check for division by 0
2021-05-24 19:47:05 +02:00
Andrea Mazzoleni
b609df78b5
Add overflow checking on the interger parsing
2021-05-24 19:43:53 +02:00
Andrea Mazzoleni
7654ed45f1
In fix/check with the -e option process the whole files with bad blocks
2021-05-22 22:28:19 +02:00
Andrea Mazzoleni
d5d10abcda
Do not postprocess files in excluded blocks
...
The filtering is by files, so the last block is included.
The only exception is with an explicit end block, but in such case,
like when fixing bad blocks the post processing is not expected.
2021-05-22 22:00:07 +02:00
Andrea Mazzoleni
2a5b5499c4
Avoid to recompute the block status multiple times
...
Store it in a bit vector and reuse the result.
2021-05-22 11:37:36 +02:00
Andrea Mazzoleni
f0a5268d32
Avoid to use the filesystem mutex when it's not necessary
...
This speed-up a bit the check and fix that are monothreads
2021-05-22 10:14:56 +02:00
Andrea Mazzoleni
ff3fc0a194
Avoid to get the info block if not necessary
2021-05-22 10:14:56 +02:00
Andrea Mazzoleni
dd29375af1
Avoid to compose the file path if not necessary
2021-05-22 10:14:56 +02:00
Andrea Mazzoleni
cb8b3dc804
Print a new Selecting... stage to get an idea of the time spent on it
2021-05-22 10:14:53 +02:00
Andrea Mazzoleni
b74731d853
Use stripe as more correct definition
2021-05-22 08:50:30 +02:00
Andrea Gelmini
986e9b4131
Fix typos
2020-05-26 12:50:15 +02:00
Andrea Gelmini
f3b3182885
Fix variable name
2020-05-26 12:50:15 +02:00
Andrea Mazzoleni
5bac3d64a6
Fix build errors due new gcc 10 default for -fno-common
2020-05-18 15:28:55 +02:00
Andrea Mazzoleni
a8242e4cd8
Print block stats
2020-04-24 21:02:47 +02:00
Andrea Mazzoleni
290801fd2f
More explicative on bad blocks
2020-04-24 21:02:47 +02:00
Andrea Mazzoleni
b725333a49
Add MetroHash128 for speed measurement
2020-04-24 21:02:45 +02:00
Andrea Mazzoleni
f0e7170009
Print the time needed for state verification
2019-11-16 08:41:43 +01:00
Andrea Mazzoleni
9a21995a61
Split the parity close and truncate operations
...
To avoid any possible conflicts.
2019-06-04 19:28:43 +02:00
Andrea Mazzoleni
91671274bc
Don't fix the size of filtered out parities
2019-05-19 16:46:03 +02:00
Andrea Mazzoleni
a873eee208
Improve parity fixing speed
2019-05-19 10:04:53 +02:00
Andrea Mazzoleni
19c75877f1
Allow the --force-device option to work with smart/up/down/devices
2019-05-05 09:17:05 +02:00
Andrea Mazzoleni
37b0064d60
Remove a build warning about major/minor defined in sysmacros.h
...
The new glibc 2.26 shows a warning if the code uses major/minor
from sys/types.h. Unfortunalte the autoconf macro used do not trigger
sysmacros.h inclusion because major/minor are already defined in sys/types.h.
2018-11-12 21:27:34 +01:00
Andrea Mazzoleni
70f2460130
Fix some warnings with latest gcc 8.2.0
2018-09-26 06:50:43 +02:00
BlueBlock
72924c6d34
Fix a typo in a message
2018-09-25 22:27:20 +02:00
Andrea Mazzoleni
f8d86abf4f
Automatically fix any scrub date that is in the future
2018-09-25 22:19:39 +02:00
Andrea Mazzoleni
294a0ae90d
Fix future scrub times
2018-09-25 22:02:14 +02:00
Andrea Mazzoleni
473819467f
Improve crash resilience in Linux
...
Syncing the directory is a required step to ensure resilience.
Also create the temporary file with O_EXCL to ensure to don't
use a stale copy that may link to the original copy.
2018-06-04 22:19:10 +02:00
Andrea Mazzoleni
9d142e72a4
List the full nanosecond precision in verbose mode
2018-04-01 23:08:13 +02:00
Andrea Mazzoleni
67f1f25259
Recognize the Windows ERROR_CRC(23) error
2018-02-25 10:21:07 +01:00
Andrea Mazzoleni
f68694904d
Cleanup the memory messages
2018-01-14 15:20:57 +01:00
Valentin Hilbig
3f838753ca
Fix scanning of devices with multiple slaves
2018-01-04 20:08:27 +01:00
Andrea Mazzoleni
c4e08ae69d
Add fallthrough comments to avoid gcc 7 warnings
2018-01-03 12:08:29 +01:00
Andrea Mazzoleni
976338f84c
Use a more explicit check on readlink result
...
This should help the static analyzer to understand the code.
2017-12-12 00:01:25 +01:00
Andrea Mazzoleni
f65961d1ec
Be more explicit about blkid support
2017-12-10 20:12:24 +01:00
Andrea Mazzoleni
c5ed7ae23f
Fix a typo in log files
2017-12-10 20:11:06 +01:00
Andrea Mazzoleni
6a082b5d05
Recognize the Windows ERROR_IO_DEVICE
...
Convert it to EIO, without reporting te "Unexpected error" message.
2017-11-26 08:36:22 +01:00
Andrea Mazzoleni
54015a2df8
Add some more logging in case of failure of parity resize
2017-11-24 23:02:45 +01:00
Andrea Mazzoleni
68563650c9
Use fallocate() with an offset starting at the missing data
...
This works better with Btrfs.
2017-11-24 23:02:41 +01:00
Andrea Mazzoleni
701b0e67e1
Change the default advise mode to "discard"
...
This avoids to swap out other process memory.
2017-11-24 22:17:28 +01:00
Andrea Mazzoleni
b9740e06f4
Print filenames in the stats screen
2017-11-24 22:17:24 +01:00
Andrea Mazzoleni
5f716773ab
One more litte test for Tommy
...
Just to increase the code coverage.
2017-11-06 21:49:18 +01:00
Andrea Mazzoleni
713a8138c0
Minor formatting changes
2017-11-03 23:46:45 +01:00
Andrea Mazzoleni
8295788686
Don't check SMART attribute 188 for all Seagate disks
...
Also IronWolf disks, like Archive don't report reliable values.
2017-11-02 10:49:12 +01:00
Andrea Mazzoleni
f778fb691f
Apply new hardlink behaviour also to NTFS in nix platforms
...
This is a specific NTFS behaviour, not limited to Windows.
2017-10-29 18:43:53 +01:00
Andrea Mazzoleni
2a8f963707
Fix recognition of Windows hardlinks
...
In Windows hardlinks may have different time and size attributes
reported by FindFirst. This is persistent until the link is opened.
2017-10-27 22:59:14 +02:00