summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/dumpon
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2005-06-07 15:20:10 +0000
committerdes <des@FreeBSD.org>2005-06-07 15:20:10 +0000
commitf7c1b7b972622ddd394adff58a45763f72de3362 (patch)
tree71ae575fea8ebc2717af072a94af492dfa6a18a7 /etc/rc.d/dumpon
parent8ab6a7967779201496380741cdbe2b534126244b (diff)
downloadFreeBSD-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/rc.d/dumpon')
-rw-r--r--etc/rc.d/dumpon23
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
}
OpenPOWER on IntegriCloud