#!/bin/bash ### BEGIN INIT INFO # Provides: util-vserver-netns # Required-Start: $remote_fs $syslog $time util-vserver # Required-Stop: $remote_fs $syslog $time util-vserver # X-Start-Before: vservers-default # X-Stop-After: vservers-default # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Sets the path to vshelper for netns handling # Description: Sets the path to vshelper for netns handling ### END INIT INFO : ${UTIL_VSERVER_VARS:=/usr/share/util-vserver/netns/util-vserver-vars} test -e "$UTIL_VSERVER_VARS" || { echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 exit 1 } . "$UTIL_VSERVER_VARS" LOCKFILE=util-vserver-netns . "$_LIB_VSERVER_INIT_FUNCTIONS" . "$_LIB_FUNCTIONS" . "$_LIB_VSERVER_FUNCTIONS" function start() { _beginResult $"Setting path to vshelper" local retval if test -r /proc/sys/kernel/vshelper; then grep -qv "$_VSHELPER" /proc/sys/kernel/vshelper && \ cat /proc/sys/kernel/vshelper > "$lockfile.save" set_helper retval=$? else retval=1 fi _endResult $retval test "$retval" -ne 0 || touch "$lockfile" return $retval } function stop() { if test -r "$lockfile.save"; then _beginResult $"Setting old path to vshelper" _VSHELPER="$(cat "$lockfile.save")" set_helper _endResult $? $_RM -f "$lockfile.save" fi $_RM -f "$lockfile" } function restart() { stop start } case "$1" in start|stop|restart) $1;; reload) ;; condrestart) test -f $lockfile && restart || : ;; status) test -f $lockfile && { echo $"Path to vshelper.netns has been set" exit 0 } echo $"Path to vshelper.netns has not been set" exit 1 ;; *) echo "Usage: $0 {start|stop|reload|restart|condrestart|status}" exit 2 ;; esac