Commit graph

156 commits

Author SHA1 Message Date
Andrea Mazzoleni
2c6b7badb7 Validate GUIDs before passing them to PowerShell 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
0df28e936f Secure the popen use 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
87313c2bfd Delete snapshot links in Windows 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
2c92381686 Report issues in github 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
5c1cf8560a Secure external tools execution 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
ab72f1cfc8 Add Windows VirtualShadowCopy support for snapshots 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
38f78154f9 Add Windows support for symlink of directories 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
c5b3fdc615 In Windows readlink now convert \ to / to match symlink behaviour 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
8bb22f2f7c Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
033ce93d5b Add ZFS support 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
ec9ddb474a Rework snapshot interface 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
16b08201a4 Add Bcachefs support 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
2e71602267 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-08-18 23:33:52 +02:00
Andrea Mazzoleni
54602422dd Change commenting style 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
2fc38017a8 Add Btrfs snapshot support for atomic sync and recovery consistency 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
fcf85b4b7c New Btrfs support using IOCTLs to get UUID and low level devices 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
3f70a21efe Reduce permission to avoid to spin up disks in Windows 2026-08-18 23:33:52 +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