Skip to content

v6.1.0

Latest

Choose a tag to compare

@petersulyok petersulyok released this 31 Jul 06:58

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 stop smfc any 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. Use error_tolerance=0 for the old, intolerant behavior. This fixes the crash reported for disks waking up from STANDBY, where the kernel's drivetemp driver returns EIO for a second or two - see issue #87.
  • smfc-client --verbose shows the per-device read error counts in a new, conditional Errors column: it appears only when at least one device of that controller has failed a temperature read since smfc was started, so the output of a healthy system is unchanged.
  • The per-device read errors are also published: new read_errors (current consecutive streak) and read_errors_total (failures since startup) fields in the /snapshot device entries, and the matching smfc_device_temp_read_errors gauge and smfc_device_temp_read_errors_total counter 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, smfc must survive it by reusing the last known good temperature) and error_tolerance_exhausted (the disk stays unreadable, the budget runs out and smfc must stop). The smoke runner hides the disk's fake hwmon file to reproduce the failing read of issue #87.
  • smfc man 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 deb822 file (smfc.sources, with embedded signing key) now, the one-line format is also documented - see README chapter 9.1.

Fixed

  • uninstall.sh removed /etc/default/smfc even with --keep-config; both configuration files are preserved now, like in install.sh.