| #! /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 |