FS#55564 - [sshfs] does not work in /etc/fstab with fuse3 (only with legacy fuse2)

Attached to Project: Community Packages
Opened by Stefan Majewsky (majewsky) - Saturday, 09 September 2017, 14:18 GMT
Last edited by Anatol Pomozov (anatolik) - Monday, 18 September 2017, 21:22 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

A long description of this bug is in the first post of https://bbs.archlinux.org/viewtopic.php?pid=1734157.

The short version is this: If you have an /etc/fstab entry with type "fuse.sshfs", it cannot be mounted with current sshfs-3.2.0-1 and fuse3-3.1.1-1 because /usr/bin/mount.fuse is missing. Adding a symlink at /usr/bin/mount.fuse to /usr/bin/mount.fuse3 makes "mount /path/to/sshfs-based/mount" work.
This task depends upon

Closed by  Anatol Pomozov (anatolik)
Monday, 18 September 2017, 21:22 GMT
Reason for closing:  Fixed
Comment by Alad Wenter (Alad) - Saturday, 09 September 2017, 17:05 GMT
Note: you linked the wrong thread, the right one is https://bbs.archlinux.org/viewtopic.php?id=229656.

"/usr/bin/mount.fuse" is currently "mount.fuse2". It appears the separation between mount.fuse2 and mount.fuse3 was deliberate by upstream to avoid conflicts [1] (and useful when only sshfs depends on fuse3).

[1] https://github.com/libfuse/libfuse/blob/322536fa059159c0cca2745ba4890827a2b0aac0/ChangeLog.rst#L162

As such, the fuse2/fuse3 packaging is correct, though you could argue for fuse2 to ship "mount.fuse2" and create a symbolic link accordingly.

The mentioned issues with the "fuse3.sshfs" mount type look like an upstream error. I'd suggest you to contact sshfs and/or util-linux (for mount):

https://github.com/libfuse/sshfs/issues
https://github.com/karelzak/util-linux/issues
Comment by Anatol Pomozov (anatolik) - Sunday, 10 September 2017, 02:07 GMT
Agree with Alad. The upstream explicitly states there should be two separate binaries mount.fuse and mount.fuse3. As such any fuse filesystem that linked against fuse3 package (like current Arch sshfs) should use filesystem type "fuse3.sshfs". This in turn requires changes to user config, not sure if it is the best way to resolve the issue. I would prefer to see "mount.fuse" handle both fuse2 and fuse3 filesystems.
Comment by Stefan Majewsky (majewsky) - Sunday, 10 September 2017, 20:59 GMT
The filesystem type "fuse3.sshfs" does not work in practice. mount(1) on an fstab entry with "fuse3.sshfs" says:

$ sudo mount /media
/bin/sh: fuse3.sshfs: command not found

When sshfs(1) is used to mount the filesystem, it creates a mount with filesystem type "fuse.sshfs" (without "3").
Comment by Anatol Pomozov (anatolik) - Monday, 18 September 2017, 21:22 GMT
mount.fuse binary has been moved to fuse-common package. It should work fine both with fuse2 and fuse3 based filesystems.

Loading...