diff options
Diffstat (limited to 'sys/kern/kern_shutdown.c')
-rw-r--r-- | sys/kern/kern_shutdown.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 9263af9..d0cfe6e 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -54,6 +54,7 @@ #include <sys/eventhandler.h> #include <sys/kernel.h> #include <sys/kthread.h> +#include <sys/malloc.h> #include <sys/mount.h> #include <sys/proc.h> #include <sys/reboot.h> @@ -457,6 +458,16 @@ setdumpdev(dev_t dev) static void dump_conf(void *dummy) { + char *path; + dev_t dev; + + path = malloc(MNAMELEN, M_TEMP, M_WAITOK); + if (TUNABLE_STR_FETCH("dumpdev", path, MNAMELEN) != 0) { + dev = getdiskbyname(path); + if (dev != NODEV) + dumpdev = dev; + } + free(path, M_TEMP); if (setdumpdev(dumpdev) != 0) dumpdev = NODEV; } |