watchdogd stat location
mike tancsa
mike at sentex.net
Fri Sep 27 15:36:07 UTC 2019
We sometimes run into an issue where our embedded devices that boot off
a read only SD card, hang with a controller error. Its not clear if
this is a BIOS/firmware/SDCard or driver bug issue. Its pretty
infrequent, but annoying enough that I started to dig to see why the box
is not rebooting via the hardware watchdog. It seems to fail to reboot
the box as the stat that it does on the filesystem is off the md backed
/etc which is not impacted. I know I could run an external program, but
would it be safer to change the default directory where the stat is done
to something that is generally not mounted via ramdisk ?
eg.
diff -u watchdogd.c.orig watchdogd.c
--- watchdogd.c.orig 2019-09-27 10:51:04.273113000 -0400
+++ watchdogd.c 2019-09-27 10:51:23.592200000 -0400
@@ -365,7 +365,7 @@
if (test_cmd != NULL)
failed = system(test_cmd);
else
- failed = stat("/etc", &sb);
+ failed = stat("/boot", &sb);
error = watchdog_getuptime(&ts_end);
if (error) {
---Mike
More information about the freebsd-embedded
mailing list