Issues with mount(8) and FUSE in 7.1-PRERELEASE

Bruce M Simpson bms at incunabulum.net
Fri Dec 5 03:41:34 PST 2008


Hi all,

I noticed when porting ext2fuse to run on 7.1-PRERELEASE, that the port 
sysutils/fusefs-ntfs needs some additional steps in order to mount 
user-space FUSE filesystems on startup. These steps weren't necessary in 
6.x.

    It seems mount(8) can't deal with new mount binaries unless it has 
been explicitly built with support for them; please see 
/usr/local/share/doc/ntfs-3g/README.FreeBSD for more info where the 
problem is described in more detail.

There is a comment which reads as follows in the mount.c code:

/* XXX: We need to get away from implementing external mount
 *      programs for every filesystem, and move towards having
 *      each filesystem properly implement the nmount() system call.
 */

    Unfortunately, this assumption seems to be grounded in a very 
restricted picture of the filesystem world. FUSE is clearly something 
which doesn't fit a limited use case of "let's only mount stuff which 
the FreeBSD base system supports", and, to my mind, is applicable to the 
vast majority of FreeBSD desktop users.

    This seems like an inflexible approach, and I'm curious why this 
design choice persists. I understand the technical arguments for 
nmount() and I do support them, but not at the expense of functional 
utility.

How can we make this work for users out-of-the-box?

thanks,
BMS

P.S. There is a patch by Ale Pulver to change some of this hardcoded 
logic, however it doesn't seem complete:    
http://people.freebsd.org/~alepulver/current-7.0-mount.diff




More information about the freebsd-stable mailing list