diff options
author | des <des@FreeBSD.org> | 2005-06-07 15:20:10 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2005-06-07 15:20:10 +0000 |
commit | f7c1b7b972622ddd394adff58a45763f72de3362 (patch) | |
tree | 71ae575fea8ebc2717af072a94af492dfa6a18a7 /etc | |
parent | 8ab6a7967779201496380741cdbe2b534126244b (diff) | |
download | FreeBSD-src-f7c1b7b972622ddd394adff58a45763f72de3362.zip FreeBSD-src-f7c1b7b972622ddd394adff58a45763f72de3362.tar.gz |
Honor the "dumpdev" kenv variable if it is set and the "dumpdev" rc
variable is set to "AUTO".
MFC after: 2 weeks
Diffstat (limited to 'etc')
-rw-r--r-- | etc/rc.d/dumpon | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/etc/rc.d/dumpon b/etc/rc.d/dumpon index f54a998..648c6ab 100644 --- a/etc/rc.d/dumpon +++ b/etc/rc.d/dumpon @@ -14,6 +14,16 @@ name="dumpon" start_cmd="dumpon_start" stop_cmd="dumpon_stop" +dumpon_try() +{ + if /sbin/dumpon -v "${1}" ; then + # Make a symlink in devfs for savecore + ln -fs "${1}" /dev/dumpdev + return 0 + fi + return 1 +} + dumpon_start() { # Enable dumpdev so that savecore can see it. Enable it @@ -23,20 +33,21 @@ dumpon_start() [Nn][Oo] | '') ;; [Aa][Uu][Tt][Oo]) + dev=$(/bin/kenv dumpdev) + if [ -n "${dev}" ] ; then + dumpon_try "${dev}" + return $? + fi while read dev mp type more ; do [ "${type}" = "swap" ] || continue [ -c "${dev}" ] || continue - if /sbin/dumpon -v "${dev}" 2>/dev/null; then - # Make a symlink in devfs for savecore - ln -s ${dev} /dev/dumpdev - return 0 - fi + dumpon_try "${dev}" 2>/dev/null && return 0 done </etc/fstab echo "No suitable dump device was found." 1>&2 return 1 ;; *) - /sbin/dumpon -v ${dumpdev} + dumpon_try "${dumpdev}" ;; esac } |