FUSE Filesystem type mismatch between fstab & mtab prevents umount
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fuse (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
FUSE filesystems in /etc/fstab, i.e. fstab entries whose fstype is "fuse," show a different filesystem type in /etc/mtab, which includes exactly what kind of fuse filesystem it is, for example "fuse.sshfs" for an sshfs mount. As a result of this mismatch, the filesystem's owner may not unmount the filesystem using the umount command, but must either use sudo, or else use fusermount -u.
In Gutsy 7.10, /etc/mtab used the same format that /etc/fstab still uses. In Hardy 8.04, the mtab format has changed, while the fstab format has remained the same, causing the fstype disagreement. Attempting to modify the fstab to match the format shown in the mtab does not work. Either the fstab should be fixed to accept the new format, or the mtab format should be reverted.
#example fstab entry for sshfs
sshfs#rct2c: /mnt/sshfs/rct2c fuse rw,uid=ryan 0 0
# corresponding old (Gutsy) mtab entry
sshfs#rct2c: /mnt/sshfs/rct2c fuse rw,user=ryan 0 0
# corresponding new (Hardy) mtab entry
rct2c: /mnt/sshfs/rct2c fuse.sshfs rw,user=ryan 0 0
I am using Hardy 8.04 and facing problem with unmounting a fuse file system automounted with udev or via commandline. It is possibly due to the bug pointed out here or closely related to it. Following are details from my system.
The fuse file system is mounted without errors for any user, and they can write to it:
Case 1: mountpoint fuse.javafs rw,nosuid, nodev,allow_ other 0 0
# mtab entry created when file system is mounted using udev
javafs /home/userid/
udev rule ="usb-storage" , NAME="%k", RUN+="/ home/userid/ mount_script. sh &"
SUBSYSTEMS=="usb", DRIVERS=
On using the GUI option to unmount volume by right clicking the file system gives an error saying "umount: /home/userid/ mymountpoint is not in the fstab (and you are not root)"
On using command "fusermount -u /home/userid/ mymountpoint" leads to an error saying "fusermount: entry for /home/userid/ mymountpoint not found in /etc/mtab"
File system unmounts correctly when using umount as root.
Case 2: mymountpoint fuse.javafs rw,nosuid, nodev,allow_ other,user= userid 0 0
#mtab entry created when file system is mounted via command line
javafs /home/userid/
On using the GUI option to unmount volume by right clicking the file system gives an error saying "umount: /home/user/ mymountpoint is not in the fstab (and you are not root)"
On using command "fusermount -u /home/userid/ mymountpoint" file system is successfully unmounted.
Interestingly in both cases, I do not see any entry for fuse filesystem in fstab.