summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/addswap
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2013-06-27 18:28:45 +0000
committerhrs <hrs@FreeBSD.org>2013-06-27 18:28:45 +0000
commit8a3748f531c8740f607c4699474b610e9fd67f6c (patch)
tree7de5a51b2bb632b781318a008e0d7c347c3065e4 /etc/rc.d/addswap
parent7f729239c4bb884a13e00c42f6ad2bf2068059d0 (diff)
downloadFreeBSD-src-8a3748f531c8740f607c4699474b610e9fd67f6c.zip
FreeBSD-src-8a3748f531c8740f607c4699474b610e9fd67f6c.tar.gz
- Add vnode-backed swap space specification support. This is enabled when
device names "md" or "md[0-9]*" and a "file" option are specified in /etc/fstab like this: md none swap sw,file=/swap.bin 0 0 - Add GBDE/GELI encrypted swap space specification support, which rc.d/encswap supported. The /etc/fstab lines are like the following: /dev/ada1p1.bde none swap sw 0 0 /dev/ada1p2.eli none swap sw 0 0 .eli devices accepts aalgo, ealgo, keylen, and sectorsize as options. swapctl(8) can understand an encrypted device in the command line like this: # swapctl -a /dev/ada2p1.bde - "-L" flag is added to support "late" option to defer swapon until rc.d/mountlate runs. - rc.d script change: rc.d/encswap -> removed rc.d/addswap -> just display a warning message if $swapfile is defined rc.d/swap1 -> renamed to rc.d/swap rc.d/swaplate -> newly added to support "late" option These changes alleviate a race condition between device creation/removal and swapon/swapoff. MFC after: 1 week Reviewed by: wblock (manual page)
Diffstat (limited to 'etc/rc.d/addswap')
-rwxr-xr-xetc/rc.d/addswap55
1 files changed, 5 insertions, 50 deletions
diff --git a/etc/rc.d/addswap b/etc/rc.d/addswap
index a6ff187..1758df8 100755
--- a/etc/rc.d/addswap
+++ b/etc/rc.d/addswap
@@ -13,57 +13,12 @@
. /etc/rc.subr
name="addswap"
-start_cmd="addswap_start"
-stop_cmd="addswap_stop"
+start_cmd=":"
+stop_cmd=":"
+rcvar=
-addswap_start()
-{
- case ${swapfile} in
- [Nn][Oo] | '')
- ;;
- *)
- if [ -w "${swapfile}" ]; then
- check_startmsgs && echo "Adding ${swapfile} as additional swap"
-
- if [ -n "${swapfile_mdunit}" ]; then
- mdev="/dev/md${swapfile_mdunit#md}"
- mdconfig -a -t vnode -f "${swapfile}" -u ${swapfile_mdunit}
- else
- mdev="/dev/`mdconfig -a -t vnode -f "${swapfile}"`"
- fi
-
- if [ $? -eq 0 ]; then
- swapon ${mdev}
- else
- echo "error creating swapfile device"
- fi
- fi
- ;;
- esac
-}
-
-addswap_stop()
-{
- case ${swapfile} in
- [Nn][Oo] | '')
- ;;
- *)
- if [ -n "${swapfile_mdunit}" ]; then
- mdev="/dev/md${swapfile_mdunit#md}"
- else
- mdev="/dev/`mdconfig -lv | grep "${swapfile}" | cut -f1`"
- swapfile_mdunit=${mdev#md}
- fi
- if [ -n "${swapfile_mdunit}" ]; then
- swapctl -l | grep -q ${mdev}
- if [ $? -eq 0 ]; then
- echo "Dismounting swapfile ${swapfile}"
- swapoff ${mdev} && mdconfig -d -u ${swapfile_mdunit}
- fi
- fi
- ;;
- esac
-}
+set_rcvar_obsolete swapfile
+set_rcvar_obsolete geli_swap_flags
load_rc_config $name
run_rc_command "$1"
OpenPOWER on IntegriCloud