Commit graph

606 commits

Author SHA1 Message Date
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
Andrea Mazzoleni
61a1e7a7e6 Use casting when printing value that may be of a different type
The stat struct could use whatever type for st_* fields.
2017-10-27 22:54:42 +02:00
Andrea Mazzoleni
33a9bde7bb Improve the pool command
The links are written only if they need to be updated.
2017-09-24 19:00:58 +02:00
Andrea Mazzoleni
5f137fae9a Print a warning about content files in the same disk 2017-09-17 18:44:33 +02:00