Andrea Mazzoleni
426f6dc0bc
Treat ENOTDIR as missing file in filter_existence and handle_open_create
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-30 16:07:36 +02:00
Andrea Mazzoleni
c2be8536bf
Reject non-regular data and parity files after opening
2026-09-28 11:54:11 +02:00
Andrea Mazzoleni
0138b48023
Avoid recreating missing files and directories during fix with syncedonly (-e/-b)
2026-09-26 18:17:25 +02:00
Andrea Mazzoleni
bcc06e10c6
Reject parity sizes exceeding data_off_t range and remove redundant block size casts
2026-09-24 20:40:27 +02:00
Andrea Mazzoleni
601064dde7
Use pathcmp for disk name comparisons to enforce case-insensitive uniqueness on Windows
2026-09-18 10:00:42 +02:00
Andrea Mazzoleni
2b784748e3
Propagate final writeback errors from advise_close
2026-09-09 21:25:32 +02:00
Andrea Mazzoleni
62ae6c3552
Replace physical reach tracking with the natural file and parity EOF
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-09-09 13:03:11 +02:00
Andrea Mazzoleni
b9d0dcd173
Make .unrecoverable a persistent one-way recovery quarantine
2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
cea7ce7f0a
Document non-obvious invariants across sync, check, scrub, parity, and handle mapping logic
2026-08-31 10:39:17 +02:00
Andrea Mazzoleni
67638a6638
Create missing files as .unrecoverable during fix to ensure crash safety on SIGKILL
2026-08-27 16:54:24 +02:00
Andrea Mazzoleni
036b099eae
Keep unrecoverable files quarantined until fix completion
2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
65e6564e13
Clarify CHG block handling during interrupted sync recovery
2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
091e44afed
Handle short writes and EINTR in sflush, handle_write, and parity_write
2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
59f3086841
Track read-only handle fallback to report accurate write permission errors instead of EBADF
2026-08-18 23:33:58 +02:00
Andrea Mazzoleni
3878c0e2e6
Silence clang static analyzer warnings
2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
bbcdb72a9f
Introduce nalloc_nofail
2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
00b4cbafd0
Merge the CLI and Daemon portable interface
2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
f40b2decdb
Further conversions from 32 to 64 bits
2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
54602422dd
Change commenting style
2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
5cfebba19e
Remove unnecessary log argument
2026-06-03 20:57:08 +02:00
Andrea Mazzoleni
65a20f48c6
Ensure to advising the remaining of the file when it's closed
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-05-21 00:41:37 +02:00
Andrea Mazzoleni
0d0431a907
Simpler Copyright string
2026-04-09 17:56:49 +02:00
Christoph Hellwig
60269a1236
Use SPDX ( https://spdx.dev/ ) tags to identify the license used for each
...
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
2026-04-02 16:01:37 +02:00
Andrea Mazzoleni
3696bccf68
On any error ensure to close the file handle
...
It's not a leak, as it would be close anyway, but makes sense to close as
early as possible.
2026-03-19 15:16:48 +01:00
Andrea Mazzoleni
d3f7bf64c1
Differentiate messages in the log files if they are caused by an hardware issue
2026-02-01 20:44:36 +01:00
Andrea Mazzoleni
edcec26506
If a file is missing or truncated, output the error message only on the first block
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL Advanced / Analyze (c-cpp) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
2026-01-27 00:07:41 +01:00
Andrea Mazzoleni
e743e23555
Add support for short writes to files. It should not happen, but just to be sure.
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-win (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
2026-01-25 11:29:41 +01:00
Andrea Mazzoleni
caf9cd3961
Review all the error messages
2026-01-25 11:14:29 +01:00
Andrea Mazzoleni
e80734fc4c
Fix typos
2026-01-22 16:13:25 +01:00
Allan Clark
5886923bb1
Add bandwidth limit feature --bw-limit
2025-03-29 19:29:55 +01:00
Andrea Mazzoleni
21241c5078
Preliminary advise support
2016-05-15 14:50:59 +02:00
Andrea Mazzoleni
e77c3742ac
Small clearification comment
2016-04-10 22:56:28 +02:00
Andrea Mazzoleni
c2079947e5
Remove a false positive warning for Coverity Scan
...
It cannot see that if file is != 0 and handle->file == file,
also handle->file is != 0.
2016-02-03 19:58:54 +01:00
Andrea Mazzoleni
488d1ffa5d
Rename handle_map() to avoid a shadow variable
2016-01-18 22:38:01 +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
c80fd07058
Remove warnings when building with low optimizations
2015-12-20 17:23:58 +01:00
Andrea Mazzoleni
f71ddbb3fd
Add backtrace support for internal errors
2015-12-04 22:02:31 +01: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
de0c437bd2
Put a clear separation between log and msg functions
2015-04-20 22:07:42 +02:00
Andrea Mazzoleni
adbc74f862
Suppress missing file warnings if -m is specified
2015-04-19 21:21:49 +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
ffe7f6fa57
Adds new files support.c/h for low level support functions.
2015-01-02 18:52:04 +01:00
Andrea Mazzoleni
b47d78c581
Splits create and truncate operations.
2014-12-28 19:11:58 +01:00
Andrea Mazzoleni
876bddcf4c
Beautifies the code.
2014-09-27 00:32:39 +02:00
Andrea Mazzoleni
6700b928c2
Adds a new file_mode setting to control the file access mode.
2014-09-04 22:52:04 +02:00
Andrea Mazzoleni
adc4f196fa
Adds the implementation of the new test-nano command.
2014-05-18 15:11:18 +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
44ef039a13
Different source organization.
2014-03-23 17:50:27 +01:00