NetBSD/etc/rc.d/swap1
prlw1 68974b6b61 Apply modified version of patch from Wolfgang Stukenbrock in PR bin/41766
This forcibly unmounts tmpfs file systems, so that swapctl doesn't run
out of swap itself, eventually trying to kill pid 1.

No objections since:
  http://mail-index.netbsd.org/current-users/2015/03/16/msg026908.html
2015-04-20 18:01:46 +00:00

43 lines
825 B
Bash
Executable File

#!/bin/sh
#
# $NetBSD: swap1,v 1.12 2015/04/20 18:01:46 prlw1 Exp $
#
# PROVIDE: localswap
# REQUIRE: DISKS root
# KEYWORD: shutdown
$_rc_subr_loaded . /etc/rc.subr
name="swap1"
start_cmd="swap1_start"
stop_cmd="swap1_stop"
# Add all block-type swap devices; these might be necessary
# during disk checks.
#
swap1_start()
{
# Treat exit status 2 from swapctl(8) as successful; it means
# "no error, but no suitable swap devices were configured".
#
if ! checkyesno no_swap; then
swapctl -A -t blk || [ $? = 2 ]
fi
}
# Remove all block-type swap devices
#
swap1_stop()
{
if checkyesno swapoff || [ -n "$rc_force" ]; then
echo "Forcibly unmounting tmpfs filesystems"
umount -aft tmpfs
echo "Removing block-type swap devices"
swapctl -U -t blk || [ $? = 2 ]
fi
}
load_rc_config swap
run_rc_command "$1"