#!/bin/sh

set +e   # Don't exit on error status

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=ramzswap
DESC="Ramzswap kernel module"
OPTS=""
DSMETOOL=/usr/sbin/dsmetool
MODPATH=/lib/modules/$(uname -r)

if [ -e /etc/default/ramzswap ]; then
	. /etc/default/ramzswap
fi

test -x $DAEMON || exit 0

case "$1" in
  start)
  	echo "Inserting kernel modules!"
  	DISKSIZE_KB=$(gconftool-2 -g /apps/ramzez/disksize 2>/dev/null)
	[ "$DISKSIZE_KB" == "" ]&&DISKSIZE_KB=$DISKSIZE_DEFAULT
	insmod $MODPATH/xvmalloc.ko
	insmod $MODPATH/ramzswap.ko disksize_kb=$DISKSIZE_KB
	/sbin/swapon /dev/ramzswap0
	for i in $(grep -v ramzswap /proc/swaps|grep -v Filename|cut -d " " -f 1); do
		/sbin/swapoff "$i"
		/sbin/swapon "$i"
	done
	;;
  stop)
  	echo "Removing kernel modules!"
	/sbin/swapoff /dev/ramzswap0
	rmmod ramzswap
	rmmod xvmalloc
	;;
  restart|force-reload)
	"$0" stop
	"$0" start
	;;
  *)
	echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

exit 0
