From: Evan Broder Date: Sat, 22 Nov 2008 10:36:22 +0000 (-0500) Subject: Clean up the invirt-console-server init script with some ideas from X-Git-Tag: invirt-console-server/0.1.1~1 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-console.git/commitdiff_plain/d8481c7273070ee6e6b16c8c786dc747e3268510 Clean up the invirt-console-server init script with some ideas from debathena-pyhesiodfs svn path=/trunk/packages/invirt-console-server/; revision=1741 --- diff --git a/debian/changelog b/debian/changelog index 13f29f2..dec5b18 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +invirt-console-server (0.1.1) unstable; urgency=low + + * Clean up the init script with some ideas from debathena-pyhesiodfs. + + -- Evan Broder Sat, 22 Nov 2008 05:25:54 -0500 + invirt-console-server (0.1.0) unstable; urgency=low * Add real caching to consolefs diff --git a/debian/invirt-console-server.init b/debian/invirt-console-server.init index 3b60f73..17e44bb 100755 --- a/debian/invirt-console-server.init +++ b/debian/invirt-console-server.init @@ -18,7 +18,8 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="the Invirt console server" NAME=invirt-console-server DAEMON=/usr/bin/invirt-consolefs -DAEMON_ARGS="/consolefs" +MOUNTPOINT="/consolefs" +DAEMON_ARGS="-f $MOUNTPOINT" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME @@ -55,10 +56,17 @@ do_start() # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started - modprobe fuse + + # Try to make sure fuse is setup + [ -e /dev/fuse ] || modprobe fuse || return 2 + + if cat /proc/mounts | grep " $MOUNTPOINT " >/dev/null 2>&1; then + return 1 + fi + gen_config - daemon --running -n $NAME && return 1 - daemon -r -O daemon.info -E daemon.err -n $NAME -U $DAEMON $DAEMON_ARGS || return 2 + + daemon -r -O daemon.info -E daemon.err -n $NAME -- $DAEMON $DAEMON_ARGS || return 2 } # @@ -71,13 +79,16 @@ do_stop() # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred + + if ! cat /proc/mounts | grep " $MOUNTPOINT " >/dev/null 2>&1; then + return 1 + fi + daemon --stop -n $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE - umount "$DAEMON_ARGS" - return "$RETVAL" } do_reload()