Date: Fri, 27 Sep 2019 11:36:05 -0400 From: mike tancsa <mike@sentex.net> To: freebsd-embedded <freebsd-embedded@freebsd.org> Subject: watchdogd stat location Message-ID: <5eba25eb-9ba4-0c93-27c8-e834491298ad@sentex.net>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5eba25eb-9ba4-0c93-27c8-e834491298ad>