Actions
Feature #15941
open/etc/rc.dumpon
Status:
New
Priority:
Normal
Assignee:
-
Category:
Unknown
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Release Notes:
Default
Description
Rc.dumpon does not account for when a user configures an external swap, and or has different drives and users uses .eli on fstab. Doing so locks out dumpon and the code below must be manually adapted. Eli protects from memory leaks. The code below does not search fstab for a non Eli swap if so fstab could have 2 swap entries and allow swap on one and dump on the other if a user had 2 drives or a usb drive.
Can we please add a if .eli is used clause here?
@ #!/bin/sh #- rc.dumpon #
- part of pfSense (https://www.pfsense.org)
- Copyright (c) 2004-2013 BSD Perimeter
- Copyright (c) 2013-2016 Electric Sheep Fencing
- Copyright (c) 2014-2023 Rubicon Communications, LLC (Netgate)
- All rights reserved. #
- Based on src/etc/rc.d/dumpon from FreeBSD #
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at #
- http://www.apache.org/licenses/LICENSE-2.0 #
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
dumpon_try()
{
if /sbin/dumpon "${1}" ; then
# Make a symlink in devfs for savecore
echo "Using ${1} for dump device."
ln -fs "${1}" /dev/dumpdev
return 0
fi
echo "Unable to specify $1 as a dump device."
return 1
}
- Enable dumpdev so that savecore can see it. Enable it
- early so a crash early in the boot process can be caught.
#
while read dev mp type more ; do
[ "${type}" = "swap" ] || continue
[ -c "${dev}" ] || continue
dumpon_try "${dev}" && works=true
done </etc/fstab
if [ "${works}" != "true" ]; then # fstab entries did not work, try swap labels
for dev in /dev/label/swap*; do
if [ ! -e "${dev}" ]; then
continue;
fi
dumpon_try "${dev}" && works=true
done
if [ "${works}" != "true" ]; then
echo "No suitable dump device was found." 1>&2
exit
fi
fi@
Actions