From 278ed116c80ca26e5e75d47672b165aa22deac56 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Fri, 21 Jul 2006 15:33:36 +0000 Subject: Fix swapping stuff; make swapon of arbitrary swap devices optional (and off by default) (#198695, #196179, #196208) --- rc.d/rc.sysinit | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'rc.d/rc.sysinit') diff --git a/rc.d/rc.sysinit b/rc.d/rc.sysinit index adeb7b70..1f363383 100755 --- a/rc.d/rc.sysinit +++ b/rc.d/rc.sysinit @@ -832,11 +832,17 @@ chown root:root /tmp/.ICE-unix # Start up swapping. update_boot_stage RCswap -swappartitions=`blkid -t TYPE=swap -o device` -if [ x"$swappartitions" != x ]; then - action $"Enabling local swap partitions: " swapon $swappartitions -fi action $"Enabling /etc/fstab swaps: " swapon -a -e +if [ "$AUTOSWAP" = "yes" ]; then + curswap=$(awk '/^\/dev/ { print $1 }' /proc/swaps | while read x; do get_numeric_dev dec $x ; echo -n " "; done) + swappartitions=`blkid -t TYPE=swap -o device` + if [ x"$swappartitions" != x ]; then + for partition in $swappartitions ; do + majmin=$(get_numeric_dev dec $partition) + echo $curswap | grep -qw "$majmin" || action $"Enabling local swap partitions: " swapon $partition + done + fi +fi # Set up binfmt_misc /bin/mount -t binfmt_misc none /proc/sys/fs/binfmt_misc > /dev/null 2>&1 -- cgit v1.2.1