#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          nxd-fuse
# Required-Start:    udev
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Activate nxd-fuse.ko instead of fuse code built into the kernel.
### END INIT INFO

PATH="/sbin:/bin"
NAME="nxd-fuse.ko"
DESC="Nexedi FUSE module"

. /lib/lsb/init-functions

case "$1" in
    start)

    log_daemon_msg "Activating $DESC" "$NAME"
    modprobe nxd-fuse

    # repoint /dev/fuse to nxd-fuse.ko
    rm -f /dev/fuse
    mknod -m a=rw /dev/fuse c 10 250    # minor is minor served by nxd-fuse.ko

    # mount nxd-fusectl instead of fusectl
    if mountpoint -q /sys/fs/fuse/connections/; then
        umount /sys/fs/fuse/connections/
    fi
    mount none -t nxd-fusectl /sys/fs/fuse/connections/
    ;;

    stop)
    log_failure_msg "don't stop nxd-fuse"
    exit 1
    ;;

    restart|reload|force-reload)
    ;;

    status)
    if lsmod | grep -q nxd-fuse; then
        log_success_msg "nxd-fuse.ko is activated"
        exit 0
    else
        log_failure_msg "nxd-fuse.ko is not activated"
        exit 1
    fi
    ;;

    *)
    echo "Usage: /etc/init.d/nxd-fuse {start|stop|restart|reload|force-reload|status}" >&2
    exit 1
    ;;
esac

exit 0
