diff options
author | thomas <thomas@FreeBSD.org> | 2004-10-18 23:40:13 +0000 |
---|---|---|
committer | thomas <thomas@FreeBSD.org> | 2004-10-18 23:40:13 +0000 |
commit | 55c32119bfac1fedea62a735065a603a9444b288 (patch) | |
tree | fc61dd408bc8098b31c44f4b133d73fea6c0cd7c /etc | |
parent | ab5364e4517590fc0e390fe6e8f7d4b7693feaf6 (diff) | |
download | FreeBSD-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/dumpon | 7 | ||||
-rwxr-xr-x | etc/rc.d/savecore | 7 |
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 |