#!/bin/sh
########################################################################
# Begin swap
#
# chkconfig:	- 20 94
# Description : Swap Control Script
#
# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
#               DJ Lucas - dj@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
########################################################################

### BEGIN INIT INFO
# Provides:            swap
# Required-Start:      udev
# Should-Start:        modules
# Default-Start:       S
# Default-Stop:        0 6
# Short-Description:   Mounts and unmounts swap partitions.
# Description:         Mounts and unmounts swap partitions defined in
#                      /etc/fstab.
# X-LFS-Provided-By:   LFS
### END INIT INFO

. /lib/lsb/init-functions

# To detect if we are on container
if [ -n "$(grep 'kthreadd' /proc/2/status 2>/dev/null)" ]; then
  case "${1}" in
     start)
        log_info_msg "Activating all swap files/partitions..."
        swapon -a
        evaluate_retval
        ;;

     stop)
        log_info_msg "Deactivating all swap files/partitions..."
        swapoff -a
        evaluate_retval
        ;;

     restart)
        ${0} stop
        sleep 1
        ${0} start
        ;;

     status)
        log_success_msg "Retrieving swap status."
        swapon -s
        ;;

     *)
        echo "Usage: ${0} {start|stop|restart|status}"
        exit 1
        ;;
    esac
  fi 

exit 0

# End swap
