Project

General

Profile

Actions

Feature #15941

open

/etc/rc.dumpon

Added by Jonathan Lee 2 days ago. Updated about 12 hours ago.

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 #
  1. rc.dumpon #
  2. part of pfSense (https://www.pfsense.org)
  3. Copyright (c) 2004-2013 BSD Perimeter
  4. Copyright (c) 2013-2016 Electric Sheep Fencing
  5. Copyright (c) 2014-2023 Rubicon Communications, LLC (Netgate)
  6. All rights reserved. #
  7. Based on src/etc/rc.d/dumpon from FreeBSD #
  8. Licensed under the Apache License, Version 2.0 (the "License");
  9. you may not use this file except in compliance with the License.
  10. You may obtain a copy of the License at #
  11. http://www.apache.org/licenses/LICENSE-2.0 #
  12. Unless required by applicable law or agreed to in writing, software
  13. distributed under the License is distributed on an "AS IS" BASIS,
  14. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. See the License for the specific language governing permissions and
  16. 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
}

  1. Enable dumpdev so that savecore can see it. Enable it
  2. 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

Also available in: Atom PDF