summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorthomas <thomas@FreeBSD.org>2004-10-18 23:40:13 +0000
committerthomas <thomas@FreeBSD.org>2004-10-18 23:40:13 +0000
commit55c32119bfac1fedea62a735065a603a9444b288 (patch)
treefc61dd408bc8098b31c44f4b133d73fea6c0cd7c /etc
parentab5364e4517590fc0e390fe6e8f7d4b7693feaf6 (diff)
downloadFreeBSD-src-55c32119bfac1fedea62a735065a603a9444b288.zip
FreeBSD-src-55c32119bfac1fedea62a735065a603a9444b288.tar.gz
When dumpdev is set to 'auto', and a suitable swap device is found,
create a symbolic link /dev/dumpdev designating that device so savecore can find and save a previous kernel dump.
Diffstat (limited to 'etc')
-rw-r--r--etc/rc.d/dumpon7
-rwxr-xr-xetc/rc.d/savecore7
2 files changed, 11 insertions, 3 deletions
diff --git a/etc/rc.d/dumpon b/etc/rc.d/dumpon
index 90f3e10..60e9897 100644
--- a/etc/rc.d/dumpon
+++ b/etc/rc.d/dumpon
@@ -26,7 +26,11 @@ dumpon_start()
while read dev mp type more ; do
[ "${type}" = "swap" ] || continue
[ -c "${dev}" ] || continue
- /sbin/dumpon -v "${dev}" 2>/dev/null && return 0
+ if /sbin/dumpon -v "${dev}" 2>/dev/null; then
+ # Make a symlink in devfs for savecore
+ ln -s ${dev} /dev/dumpdev
+ return 0
+ fi
done </etc/fstab
echo "No suitable dump device was found." 1>&2
return 1
@@ -43,6 +47,7 @@ dumpon_stop()
[Nn][Oo] | '')
;;
*)
+ rm -f /dev/dumpdev
/sbin/dumpon -v off
;;
esac
diff --git a/etc/rc.d/savecore b/etc/rc.d/savecore
index e6904b5..ed6b458 100755
--- a/etc/rc.d/savecore
+++ b/etc/rc.d/savecore
@@ -29,6 +29,9 @@ savecore_prestart()
debug 'No dump device. Quitting.'
return 1
;;
+ [Aa][Uu][Tt][Oo])
+ dumpdev=/dev/dumpdev
+ ;;
esac
# If there is no crash directory set it now
@@ -50,8 +53,8 @@ savecore_prestart()
savecore_start()
{
- echo "Checking for core dump on ${dumpdev} ..."
- savecore ${savecore_flags} ${DUMPDIR} ${dumpdev}
+ echo "Checking for core dump on ${dumpdev}..."
+ savecore ${savecore_flags} ${DUMPDIR} ${dumpdev}
}
load_rc_config $name
OpenPOWER on IntegriCloud