New
- New
error_tolerance=parameter for the[CPU],[HD],[NVME]and[GPU]sections (int, default=3): the number of consecutive failed temperature reads tolerated per device. Behavior change: a transient temperature read error does not stopsmfcany more. While a device is inside its budget its last known good temperature is reused and the failure is logged at ERROR level; only an exhausted budget stops the service with the original error, as before. Useerror_tolerance=0for the old, intolerant behavior. This fixes the crash reported for disks waking up from STANDBY, where the kernel'sdrivetempdriver returnsEIOfor a second or two - see issue #87. smfc-client --verboseshows the per-device read error counts in a new, conditionalErrorscolumn: it appears only when at least one device of that controller has failed a temperature read sincesmfcwas started, so the output of a healthy system is unchanged.- The per-device read errors are also published: new
read_errors(current consecutive streak) andread_errors_total(failures since startup) fields in the/snapshotdevice entries, and the matchingsmfc_device_temp_read_errorsgauge andsmfc_device_temp_read_errors_totalcounter in/metrics, so these events are visible in Grafana and not only in the log. Both counters appear in the log messages as well:HD: temperature read failed, reusing 33.0C (device=/dev/disk/by-id/..., 2/3, total=9): ....
Changed
- Two new smoke-test scenarios with fault injection:
error_tolerance(one disk becomes unreadable for a short window,smfcmust survive it by reusing the last known good temperature) anderror_tolerance_exhausted(the disk stays unreadable, the budget runs out andsmfcmust stop). The smoke runner hides the disk's fake hwmon file to reproduce the failing read of issue #87. smfcman page lists the supported motherboards (X9, X10-X13/H10-H13, X10QBi, X14/H14) like the README and the DEB package description.- The APT repository can be added with a single
deb822file (smfc.sources, with embedded signing key) now, the one-line format is also documented - see README chapter 9.1.
Fixed
uninstall.shremoved/etc/default/smfceven with--keep-config; both configuration files are preserved now, like ininstall.sh.