Commit graph

156 commits

Author SHA1 Message Date
Andrea Mazzoleni
1b6c6757fc Validate GUIDs before passing them to PowerShell 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
2ffc1011c6 Secure the popen use 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
c8cc0be6ad Delete snapshot links in Windows 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
93d23275a5 Report issues in github 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
12ef370ab0 Secure external tools execution 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
a62d078220 Add Windows VirtualShadowCopy support for snapshots 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
8a3778197a Add Windows support for symlink of directories 2026-07-13 11:03:56 +02:00
Andrea Mazzoleni
bfc08f2f8c In Windows readlink now convert \ to / to match symlink behaviour 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
cdf4ac00c9 Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
c22b7d6c4a Add ZFS support 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
b8855aba0d Rework snapshot interface 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
e242426ded Add Bcachefs support 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
20cdfa7535 Remove the requirement to snapshot content files
The new content file format now includes metadata for previous versions
of files. This allows the fix command to access historical file data from
snapshots as needed, ensuring recovery even if the live filesystem has
changed or the file was deleted during a sync.
2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
21673eb805 Change commenting style 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
e9871d65ff Add Btrfs snapshot support for atomic sync and recovery consistency 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
450b826555 New Btrfs support using IOCTLs to get UUID and low level devices 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
6602bebd5b Reduce permission to avoid to spin up disks in Windows 2026-07-13 11:03:55 +02:00
Andrea Mazzoleni
bbadcf252f Reduce permission to avoid to spin up disks in Windows
Some checks failed
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-06-23 11:47:31 +02:00
Andrea Mazzoleni
65ad555779 Fix smartctl retry of probe with -d sat in Windows avoiding to spin up disks
Some checks failed
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-06-15 11:51:02 +02:00
Andrea Mazzoleni
e4aa186b1a Fix touching of files that in Windows have the read-only attribute set 2026-06-10 10:41:11 +02:00
Andrea Mazzoleni
96e20b3912 Switch esc_tag and path formatting to a contiguous thread-local circular pool to eliminate stack bloat
Some checks failed
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-05-29 11:22:04 +02:00
Andrea Mazzoleni
19b0b14b2e Assume GetTickCount64() always available 2026-05-21 16:08:03 +02:00
Andrea Mazzoleni
81995ccc8d Use eaccess() instead of access() 2026-05-21 16:08:03 +02:00
Andrea Mazzoleni
836480951e Fix leak on termination on Windows
Some checks are pending
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-20 20:00:56 +02:00
Andrea Mazzoleni
b50332db54 Fix a double close in Windows 2026-05-20 20:00:38 +02:00
Andrea Mazzoleni
66303491d7 Revise char conversion in Windows
Some checks are pending
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-18 11:45:39 +02:00
Andrea Mazzoleni
7217948571 Fix leaks on Windows 2026-05-18 09:55:16 +02:00
Andrea Mazzoleni
03e941eb3d Fix double free on failed directory listing in Windows 2026-05-18 00:28:17 +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
f76e617f70 Do not exit if fstype or volume name fail to convert to UTF-8
Some checks are pending
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-03-31 22:58:23 +02:00
Andrea Mazzoleni
67086a4f45 Support multiple thousand separators 2026-03-20 14:44:47 +01:00
Andrea Mazzoleni
f156915125 Handle the case of malformed IOCTL answer for disk descriptor 2026-03-20 13:41:09 +01:00
Andrea Mazzoleni
2b6281cd81 Fix importing of serial from smartctl 2026-03-20 11:16:06 +01:00
Andrea Mazzoleni
ef3572ea73 Make smartctl to ignore locale
Some checks are pending
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-03-19 16:09:57 +01:00
Andrea Mazzoleni
c153898c9a Log devices mapping
Some checks are pending
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-03-16 12:43:23 +01:00
Andrea Mazzoleni
60c7b6baa3 New extra config option for additional disks to monitor 2026-03-11 16:05:39 +01:00
Andrea Mazzoleni
4bc30e976a Gather access counters in Windows 2026-03-04 11:06:19 +01:00
Andrea Mazzoleni
7f7135dc1b Fix the interpretation of the return value of smartctl in Windows 2026-03-02 17:57:29 +01:00
Andrea Mazzoleni
b3879f7f8e Rework the portable support 2026-03-02 09:56:27 +01:00
Andrea Mazzoleni
1e79a19409 Fix potential crash during thermal spingdown 2026-02-25 19:04:45 +01:00
Andrea Mazzoleni
696ee97754 Log full SMART attributes 2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
2019aa4bb6 Log the normalized, worst and threshold value of SMART attributes 2026-02-17 02:02:48 +01:00
Andrea Mazzoleni
4da11411f1 Always get the SMART info after a spinup 2026-02-02 18:00:14 +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
d6e4082b01 Get full SMART attributes in probe also in Windows
Some checks failed
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-31 16:59:28 +01:00
Andrea Mazzoleni
9f081f9c22 Log the filesystem type and label
Some checks failed
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-29 19:34:33 +01:00
Andrea Mazzoleni
5a5668851d Log the interface of the device
Some checks are pending
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-29 17:06:10 +01:00
Andrea Mazzoleni
b29500c25f Update beautification with uncrustify 2026-01-22 16:13:25 +01:00
Andrea Mazzoleni
be3e3673fd Use proper family variable name instead of vendor 2026-01-11 12:01:12 +01:00