FreeBSD 10: how to load fuse kernel module?

First of all; yes - I do know how to load it. But this is interesting none the less.
How are FreeBSD 10.x users going to know that they need to load the fuse kernel module?
Let us look at a recent FreeBSD 10.2-stable machine:
Code:
root@kg-z30b# uname -a
FreeBSD kg-z30b.kg4.no 10.2-STABLE FreeBSD 10.2-STABLE #0 r292123: Sat Dec 12 00:58:41 CET 2015
  root@kg-z30b.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
Check to see if FreeBSD has any documentation on fuse "onboard":
Code:
root@kg-z30b# apropos fuse
blackhole(4)  - a sysctl(8) MIB for manipulating behaviour in respect of refused TCP or UDP connection attempts
fma(3), fmaf(3), fmal(3) - fused multiply-add
fuser(1)  - list IDs of all processes that have one or more files open
mount_fusefs(8)  - mount a Fuse file system daemon
nologin(8)  - politely refuse a login
fusermount(1)  - mount and unmount FUSE filesystems
gvfsd-fuse(1)  - Fuse daemon for gvfs
mount.fuse(8), fuse(8)  - format and options for the fuse file systems
ulockmgr_server(1)  - Lock Manager Server for FUSE filesystems
Ok, it looks promising.
Code:
root@kg-z30b# man 8 fuse
No manual entry for fuse
root@kg-z30b# man -w fuse
No manual entry for fuse
Strange - it doesn't exist. Try the others
Code:
root@kg-z30b# man -w mount_fusefs
/usr/share/man/en.ISO8859-1/man8/mount_fusefs.8
root@kg-z30b# man -w fusermount
/usr/local/man/man1/fusermount.1.gz
root@kg-z30b# man -w gvfsd-fuse
/usr/local/man/man1/gvfsd-fuse.1.gz
root@kg-z30b# man -w mount.fuse
/usr/local/man/man8/mount.fuse.8.gz
root@kg-z30b# man -w ulockmgr_server
/usr/local/man/man1/ulockmgr_server.1.gz
Ok, they exist. But not one of mount_fusefs(8), fusermount(1), gvfsd-fuse(1), mount.fuse(8) or ulockmgr_server(1) explains how to load the fuse kernel module.
How about loader.conf(5) then? No mention of fuse there either. rc.conf(5) perhaps? No luck there.
Maybe it is defined in /etc/defaults/rc.conf?
Code:
root@kg-z30b# grep -i fuse /etc/defaults/rc.conf
No. Ok, let me check the source then:
Code:
root@kg-z30b# find /usr/src -name '*fuse*' -print
/usr/src/sys/modules/fuse
/usr/src/sys/fs/fuse
/usr/src/sys/fs/fuse/fuse_node.c
/usr/src/sys/fs/fuse/fuse_node.h
/usr/src/sys/fs/fuse/fuse_kernel.h
/usr/src/sys/fs/fuse/fuse_internal.c
/usr/src/sys/fs/fuse/fuse.h
/usr/src/sys/fs/fuse/fuse_param.h
/usr/src/sys/fs/fuse/fuse_vfsops.c
/usr/src/sys/fs/fuse/fuse_main.c
/usr/src/sys/fs/fuse/fuse_file.c
/usr/src/sys/fs/fuse/fuse_io.c
/usr/src/sys/fs/fuse/fuse_debug.h
/usr/src/sys/fs/fuse/fuse_io.h
/usr/src/sys/fs/fuse/fuse_vnops.c
/usr/src/sys/fs/fuse/fuse_internal.h
/usr/src/sys/fs/fuse/fuse_device.c
/usr/src/sys/fs/fuse/fuse_ipc.c
/usr/src/sys/fs/fuse/fuse_ipc.h
/usr/src/sys/fs/fuse/fuse_file.h
/usr/src/sys/compat/svr4/svr4_fuser.h
/usr/src/contrib/file/magic/Magdir/fusecompress
/usr/src/contrib/llvm/patches/patch-r279302-clang-r211785-add-fuse-ld.diff
/usr/src/contrib/tcp_wrappers/refuse.c
/usr/src/usr.bin/fstat/fuser.1
/usr/src/usr.bin/fstat/fuser.c
/usr/src/sbin/mount_fusefs
/usr/src/sbin/mount_fusefs/mount_fusefs.8
/usr/src/sbin/mount_fusefs/mount_fusefs.c
Hmm, no documentation for fuse there either.
Time to repeat the question: how are FreeBSD users going to know that they need to load the fuse kernel module (and how to do that)?
 
Things don't get magically added, if nobody created the PR nothing will happen.
 
Back
Top