mirror of https://gitee.com/openkylin/fuse.git
90 lines
1.8 KiB
Bash
Executable File
90 lines
1.8 KiB
Bash
Executable File
#! /bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: fuse
|
|
# Required-Start:
|
|
# Should-Start: udev
|
|
# Required-Stop:
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
# Short-Description: Start and stop fuse.
|
|
# Description: Load the fuse module and mount the fuse control
|
|
# filesystem.
|
|
### END INIT INFO
|
|
|
|
set -e
|
|
|
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
|
MOUNTPOINT=/sys/fs/fuse/connections
|
|
|
|
# Gracefully exit if the package has been removed.
|
|
which fusermount &>/dev/null || exit 5
|
|
|
|
case "$1" in
|
|
start|restart|force-reload)
|
|
if ! grep -qw fuse /proc/filesystems; then
|
|
echo -n "Loading fuse module"
|
|
if ! modprobe fuse >/dev/null 2>&1; then
|
|
echo " failed!"
|
|
exit 1
|
|
else
|
|
echo "."
|
|
fi
|
|
else
|
|
echo "Fuse filesystem already available."
|
|
fi
|
|
if grep -qw fusectl /proc/filesystems && \
|
|
! grep -qw $MOUNTPOINT /proc/mounts; then
|
|
echo -n "Mounting fuse control filesystem"
|
|
if ! mount -t fusectl fusectl $MOUNTPOINT >/dev/null 2>&1; then
|
|
echo " failed!"
|
|
exit 1
|
|
else
|
|
echo "."
|
|
fi
|
|
else
|
|
echo "Fuse control filesystem already available."
|
|
fi
|
|
;;
|
|
stop)
|
|
if ! grep -qw fuse /proc/filesystems; then
|
|
echo "Fuse filesystem not loaded."
|
|
exit 7
|
|
fi
|
|
if grep -qw $MOUNTPOINT /proc/mounts; then
|
|
echo -n "Unmounting fuse control filesystem"
|
|
if ! umount $MOUNTPOINT >/dev/null 2>&1; then
|
|
echo " failed!"
|
|
else
|
|
echo "."
|
|
fi
|
|
else
|
|
echo "Fuse control filesystem not mounted."
|
|
fi
|
|
if grep -qw "^fuse" /proc/modules; then
|
|
echo -n "Unloading fuse module"
|
|
if ! rmmod fuse >/dev/null 2>&1; then
|
|
echo " failed!"
|
|
else
|
|
echo "."
|
|
fi
|
|
else
|
|
echo "Fuse module not loaded."
|
|
fi
|
|
;;
|
|
status)
|
|
echo -n "Checking fuse filesystem"
|
|
if ! grep -qw fuse /proc/filesystems; then
|
|
echo " not available."
|
|
exit 3
|
|
else
|
|
echo " ok."
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|force-reload|status}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|