summaryrefslogtreecommitdiff
path: root/init.d/swap.in
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2012-02-12 12:37:46 -0600
committerWilliam Hubbs <williamh@gentoo.org>2012-02-13 08:35:29 -0600
commit79d6f109262ac936218332730b231a5b5897d612 (patch)
treebd935b7acdc580866e38b402167826ec8c59029f /init.d/swap.in
parent5396bf185157a8a825c19215fb741f93444487ff (diff)
downloadopenrc-79d6f109262ac936218332730b231a5b5897d612.tar.gz
openrc-79d6f109262ac936218332730b231a5b5897d612.tar.bz2
openrc-79d6f109262ac936218332730b231a5b5897d612.tar.xz
Improve swap handling
Modify the swap script so it starts before and stops after localmount. Also, on linux, this script should skip mounting swap on loopback. Add a swapfiles script which runs after localmount and is designed to activate additional swap space which could not be activated before localmount was run. This includes loopback swap on linux and swapfiles which are on local file systems that were not mounted when swap was activated initially. The start code does reactivate swap that is already active, but this is not an error condition. Reported-by: Giampaolo Tomassoni <giampaolo@tomassoni.biz> X-Gentoo-Bug: 401003 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=401003
Diffstat (limited to 'init.d/swap.in')
-rw-r--r--init.d/swap.in11
1 files changed, 10 insertions, 1 deletions
diff --git a/init.d/swap.in b/init.d/swap.in
index bd20ffe..bdc5dc7 100644
--- a/init.d/swap.in
+++ b/init.d/swap.in
@@ -4,7 +4,7 @@
depend()
{
- need localmount
+ before localmount
keyword -jail -openvz -prefix -vserver -lxc
}
@@ -12,6 +12,15 @@ start()
{
ebegin "Activating swap devices"
case "$RC_UNAME" in
+ Linux)
+ local dev
+ for dev in $(fstabinfo -b -t swap); do
+ case "$dev" in
+ /dev/loop*) ;;
+ *) swapon $dev 2>/dev/null;;
+ esac
+ done
+ ;;
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
*) swapon -a >/dev/null;;
esac