Date: Tue, 14 Nov 2017 00:29:14 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r325785 - in head: sys/kern tools/tools/sysdoc Message-ID: <201711140029.vAE0TEVO024994@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Tue Nov 14 00:29:14 2017 New Revision: 325785 URL: https://svnweb.freebsd.org/changeset/base/325785 Log: Add two new tunables / sysctls to controll reboot after panic: kern.poweroff_on_panic which, when enabled, instructs a system to power off on a panic instead of a reboot. kern.powercyle_on_panic which, when enabled, instructs a system to power cycle, if possible, on a panic instead of a reboot. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D13042 Modified: head/sys/kern/kern_shutdown.c head/tools/tools/sysdoc/tunables.mdoc Modified: head/sys/kern/kern_shutdown.c ============================================================================== --- head/sys/kern/kern_shutdown.c Mon Nov 13 23:33:07 2017 (r325784) +++ head/sys/kern/kern_shutdown.c Tue Nov 14 00:29:14 2017 (r325785) @@ -134,6 +134,14 @@ static int sync_on_panic = 0; SYSCTL_INT(_kern, OID_AUTO, sync_on_panic, CTLFLAG_RWTUN, &sync_on_panic, 0, "Do a sync before rebooting from a panic"); +static bool poweroff_on_panic = 0; +SYSCTL_BOOL(_kern, OID_AUTO, poweroff_on_panic, CTLFLAG_RWTUN, + &poweroff_on_panic, 0, "Do a power off instead of a reboot on a panic"); + +static bool powercycle_on_panic = 0; +SYSCTL_BOOL(_kern, OID_AUTO, powercycle_on_panic, CTLFLAG_RWTUN, + &powercycle_on_panic, 0, "Do a power cycle instead of a reboot on a panic"); + static SYSCTL_NODE(_kern, OID_AUTO, shutdown, CTLFLAG_RW, 0, "Shutdown environment"); @@ -797,6 +805,10 @@ vpanic(const char *fmt, va_list ap) /* thread_unlock(td); */ if (!sync_on_panic) bootopt |= RB_NOSYNC; + if (poweroff_on_panic) + bootopt |= RB_POWEROFF; + if (powercycle_on_panic) + bootopt |= RB_POWERCYCLE; kern_reboot(bootopt); } Modified: head/tools/tools/sysdoc/tunables.mdoc ============================================================================== --- head/tools/tools/sysdoc/tunables.mdoc Mon Nov 13 23:33:07 2017 (r325784) +++ head/tools/tools/sysdoc/tunables.mdoc Tue Nov 14 00:29:14 2017 (r325785) @@ -1035,6 +1035,20 @@ is attempting to comply with. This is a read-only variable. --- +kern.powercycle_on_panic +bool + +In the event of a panic, this variable controls whether or not the +system should try to power cycle instead of rebooting. + +--- +kern.poweroff_on_panic +bool + +In the event of a panic, this variable controls whether or not the +system should try to power off instead of rebooting. + +--- kern.proc.all ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711140029.vAE0TEVO024994>