Package: fuse-utils
Version: 2.6.5-1

Hi, If you run 'umount -at fuse' in the stop script, you unmount all the
mounted fuse filesystems. Then, you can successfully remove the kernel module.
I believe this is the correct behaviour: you're stopping fuse, so all
the fuse filesystems should be unmounted. The patch attached adds this
behaviour to /etc/init.d/fuse

Have a nice day,
Javi (Vicho)

-- System Information:
Debian Release: lenny/sid
 APT prefers unstable
 APT policy: (990, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.18-4-686 (SMP w/2 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages fuse-utils depends on:
ii  adduser                       3.102      Add and remove users and groups
ii  libc6                         2.5-9      GNU C Library: Shared libraries
ii  libfuse2                      2.6.5-1    Filesystem in USErspace library
ii  makedev                       2.3.1-83   creates device files in /dev
ii  sed                           4.1.5-2    The GNU sed stream editor
ii  ucf                           3.001      Update Configuration File: preserv
ii  udev                          0.105-4    /dev/ and hotplug management daemo

fuse-utils recommends no packages.

-- no debconf information
diff -r 151bd3bd9ce6 -r 8f23469f4bb3 debian/fuse-utils.fuse.init
--- a/debian/fuse-utils.fuse.init	Fri May 25 18:12:25 2007 +0200
+++ b/debian/fuse-utils.fuse.init	Sun May 27 19:52:32 2007 +0200
@@ -46,12 +46,14 @@ do_stop()
 {
 	# Return
 	#   0 if fuse has been stopped
-	#   1 if kernel module unload failed
-	#   2 if fusectl filesystem umount failed
+	#   1 if fusectl filesystem umount failed
+	#   2 if kernel module unload failed
+	#   3 if fuse filesystems unmount failed
         if grep -qw $MOUNTPOINT /proc/mounts; then
                 umount $MOUNTPOINT >/dev/null 2>&1 || \
                         return 1
         fi
+        umount -at fuse >/dev/null 2>&1 || return 3
         if grep -qw "^fuse" /proc/modules; then
                 rmmod fuse >/dev/null 2>&1 || return 2
         fi
@@ -70,15 +72,15 @@ case "$1" in
 	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
 	do_stop
 	case "$?" in
-		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+		0|2|3) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		1) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
 	esac
 	;;
   restart|force-reload)
 	log_daemon_msg "Restarting $DESC" "$NAME"
 	do_stop
 	case "$?" in
-	  0|1)
+	  0|2|3)
 		do_start
 		case "$?" in
 			0) log_end_msg 0 ;;

Reply via email to