blob: ed964cbc7fb6e99c6262ca9488f55b3f47123067 [file] [log] [blame]
#! /bin/sh
#
# fuse Init script for Filesystem in Userspace
#
# Author: Miklos Szeredi <miklos@szeredi.hu>
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SCRIPTNAME=/etc/init.d/fuse
DESC="FUSE"
MOUNTPOINT=/sys/fs/fuse/connections
# Gracefully exit if the package has been removed.
test -x `which fusermount` || exit 0
error()
{
echo "Error $1" >&2
exit 1
}
case "$1" in
start)
echo -n "Starting $DESC: "
if ! grep -qw fuse /proc/filesystems; then
modprobe fuse >/dev/null 2>&1 || error "loading fuse module"
fi
if grep -qw fusectl /proc/filesystems && \
! grep -qw $MOUNTPOINT /proc/mounts; then
mount -t fusectl none $MOUNTPOINT >/dev/null 2>&1 || \
error "mounting control filesystem"
fi
echo "done."
;;
stop)
echo -n "Stopping $DESC: "
if grep -qw $MOUNTPOINT /proc/mounts; then
umount $MOUNTPOINT >/dev/null 2>&1 || \
error "unmounting control filesystem"
fi
if grep -qw "^fuse" /proc/modules; then
rmmod fuse >/dev/null 2>&1 || error "unloading fuse module"
fi
echo "done."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 1
;;
esac
exit 0