Index: head/UPDATING =================================================================== --- head/UPDATING +++ head/UPDATING @@ -31,6 +31,12 @@ disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20190320: + The fuse(4) module has been renamed to fusefs(4) for consistency with + other filesystems. You should update any kld_load="fuse" entries in + /etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and + "options FUSE" enties in kernel config files. + 20190304: Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 8.0.0. Please see the 20141231 entry below for information about Index: head/lib/libjail/jail.c =================================================================== --- head/lib/libjail/jail.c +++ head/lib/libjail/jail.c @@ -1050,14 +1050,8 @@ kl = kldload(name); else if (strncmp(name, "allow.mount.", 12) == 0) { /* Load the matching filesystem */ - const char *modname; + const char *modname = name + 12; - if (strcmp("fusefs", name + 12) == 0 || - strcmp("nofusefs", name + 12) == 0) { - modname = "fuse"; - } else { - modname = name + 12; - } kl = kldload(modname); if (kl < 0 && errno == ENOENT && strncmp(modname, "no", 2) == 0) Index: head/sbin/mount_fusefs/mount_fusefs.c =================================================================== --- head/sbin/mount_fusefs/mount_fusefs.c +++ head/sbin/mount_fusefs/mount_fusefs.c @@ -501,7 +501,7 @@ len = sizeof(ibg); - if (sysctlbyname("vfs.fuse.init_backgrounded", &ibg, &len, NULL, 0)) + if (sysctlbyname("vfs.fusefs.init_backgrounded", &ibg, &len, NULL, 0)) return (0); return (ibg); Index: head/sys/conf/NOTES =================================================================== --- head/sys/conf/NOTES +++ head/sys/conf/NOTES @@ -1071,7 +1071,7 @@ options AUTOFS #Automounter filesystem options CD9660 #ISO 9660 filesystem options FDESCFS #File descriptor filesystem -options FUSE #FUSE support module +options FUSEFS #FUSEFS support module options MSDOSFS #MS DOS File System (FAT, FAT32) options NFSLOCKD #Network Lock Manager options NFSD #Network Filesystem Server Index: head/sys/conf/files =================================================================== --- head/sys/conf/files +++ head/sys/conf/files @@ -3494,15 +3494,15 @@ fs/fdescfs/fdesc_vnops.c optional fdescfs fs/fifofs/fifo_vnops.c standard fs/cuse/cuse.c optional cuse -fs/fuse/fuse_device.c optional fuse -fs/fuse/fuse_file.c optional fuse -fs/fuse/fuse_internal.c optional fuse -fs/fuse/fuse_io.c optional fuse -fs/fuse/fuse_ipc.c optional fuse -fs/fuse/fuse_main.c optional fuse -fs/fuse/fuse_node.c optional fuse -fs/fuse/fuse_vfsops.c optional fuse -fs/fuse/fuse_vnops.c optional fuse +fs/fuse/fuse_device.c optional fusefs +fs/fuse/fuse_file.c optional fusefs +fs/fuse/fuse_internal.c optional fusefs +fs/fuse/fuse_io.c optional fusefs +fs/fuse/fuse_ipc.c optional fusefs +fs/fuse/fuse_main.c optional fusefs +fs/fuse/fuse_node.c optional fusefs +fs/fuse/fuse_vfsops.c optional fusefs +fs/fuse/fuse_vnops.c optional fusefs fs/msdosfs/msdosfs_conv.c optional msdosfs fs/msdosfs/msdosfs_denode.c optional msdosfs fs/msdosfs/msdosfs_fat.c optional msdosfs Index: head/sys/conf/options =================================================================== --- head/sys/conf/options +++ head/sys/conf/options @@ -253,7 +253,7 @@ EXT2FS opt_dontuse.h FDESCFS opt_dontuse.h FFS opt_dontuse.h -FUSE opt_dontuse.h +FUSEFS opt_dontuse.h MSDOSFS opt_dontuse.h NANDFS opt_dontuse.h NULLFS opt_dontuse.h Index: head/sys/fs/fuse/fuse.h =================================================================== --- head/sys/fs/fuse/fuse.h +++ head/sys/fs/fuse/fuse.h @@ -143,7 +143,7 @@ /* misc */ -SYSCTL_DECL(_vfs_fuse); +SYSCTL_DECL(_vfs_fusefs); /* Fuse locking */ Index: head/sys/fs/fuse/fuse_file.c =================================================================== --- head/sys/fs/fuse/fuse_file.c +++ head/sys/fs/fuse/fuse_file.c @@ -87,7 +87,7 @@ static int fuse_fh_count = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, filehandle_count, CTLFLAG_RD, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, filehandle_count, CTLFLAG_RD, &fuse_fh_count, 0, "number of open FUSE filehandles"); int Index: head/sys/fs/fuse/fuse_ipc.c =================================================================== --- head/sys/fs/fuse/fuse_ipc.c +++ head/sys/fs/fuse/fuse_ipc.c @@ -99,21 +99,21 @@ static fuse_handler_t fuse_standard_handler; -SYSCTL_NODE(_vfs, OID_AUTO, fuse, CTLFLAG_RW, 0, "FUSE tunables"); -SYSCTL_STRING(_vfs_fuse, OID_AUTO, version, CTLFLAG_RD, +SYSCTL_NODE(_vfs, OID_AUTO, fusefs, CTLFLAG_RW, 0, "FUSE tunables"); +SYSCTL_STRING(_vfs_fusefs, OID_AUTO, version, CTLFLAG_RD, FUSE_FREEBSD_VERSION, 0, "fuse-freebsd version"); static int fuse_ticket_count = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, ticket_count, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, ticket_count, CTLFLAG_RW, &fuse_ticket_count, 0, "number of allocated tickets"); static long fuse_iov_permanent_bufsize = 1 << 19; -SYSCTL_LONG(_vfs_fuse, OID_AUTO, iov_permanent_bufsize, CTLFLAG_RW, +SYSCTL_LONG(_vfs_fusefs, OID_AUTO, iov_permanent_bufsize, CTLFLAG_RW, &fuse_iov_permanent_bufsize, 0, "limit for permanently stored buffer size for fuse_iovs"); static int fuse_iov_credit = 16; -SYSCTL_INT(_vfs_fuse, OID_AUTO, iov_credit, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, iov_credit, CTLFLAG_RW, &fuse_iov_credit, 0, "how many times is an oversized fuse_iov tolerated"); Index: head/sys/fs/fuse/fuse_main.c =================================================================== --- head/sys/fs/fuse/fuse_main.c +++ head/sys/fs/fuse/fuse_main.c @@ -94,9 +94,9 @@ .vfc_flags = VFCF_JAIL | VFCF_SYNTHETIC }; -SYSCTL_INT(_vfs_fuse, OID_AUTO, kernelabi_major, CTLFLAG_RD, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, kernelabi_major, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, FUSE_KERNEL_VERSION, "FUSE kernel abi major version"); -SYSCTL_INT(_vfs_fuse, OID_AUTO, kernelabi_minor, CTLFLAG_RD, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, kernelabi_minor, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, FUSE_KERNEL_MINOR_VERSION, "FUSE kernel abi minor version"); /****************************** @@ -156,10 +156,10 @@ /* Registering the module */ static moduledata_t fuse_moddata = { - "fuse", + "fusefs", fuse_loader, &fuse_vfsconf }; -DECLARE_MODULE(fuse, fuse_moddata, SI_SUB_VFS, SI_ORDER_MIDDLE); -MODULE_VERSION(fuse, 1); +DECLARE_MODULE(fusefs, fuse_moddata, SI_SUB_VFS, SI_ORDER_MIDDLE); +MODULE_VERSION(fusefs, 1); Index: head/sys/fs/fuse/fuse_node.c =================================================================== --- head/sys/fs/fuse/fuse_node.c +++ head/sys/fs/fuse/fuse_node.c @@ -98,47 +98,47 @@ static int fuse_node_count = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, node_count, CTLFLAG_RD, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, node_count, CTLFLAG_RD, &fuse_node_count, 0, "Count of FUSE vnodes"); int fuse_data_cache_mode = FUSE_CACHE_WT; -SYSCTL_PROC(_vfs_fuse, OID_AUTO, data_cache_mode, CTLTYPE_INT|CTLFLAG_RW, +SYSCTL_PROC(_vfs_fusefs, OID_AUTO, data_cache_mode, CTLTYPE_INT|CTLFLAG_RW, &fuse_data_cache_mode, 0, sysctl_fuse_cache_mode, "I", "Zero: disable caching of FUSE file data; One: write-through caching " "(default); Two: write-back caching (generally unsafe)"); int fuse_data_cache_invalidate = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, data_cache_invalidate, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, data_cache_invalidate, CTLFLAG_RW, &fuse_data_cache_invalidate, 0, "If non-zero, discard cached clean file data when there are no active file" " users"); int fuse_mmap_enable = 1; -SYSCTL_INT(_vfs_fuse, OID_AUTO, mmap_enable, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, mmap_enable, CTLFLAG_RW, &fuse_mmap_enable, 0, "If non-zero, and data_cache_mode is also non-zero, enable mmap(2) of " "FUSE files"); int fuse_refresh_size = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, refresh_size, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, refresh_size, CTLFLAG_RW, &fuse_refresh_size, 0, "If non-zero, and no dirty file extension data is buffered, fetch file " "size before write operations"); int fuse_sync_resize = 1; -SYSCTL_INT(_vfs_fuse, OID_AUTO, sync_resize, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, sync_resize, CTLFLAG_RW, &fuse_sync_resize, 0, "If a cached write extended a file, inform FUSE filesystem of the changed" "size immediately subsequent to the issued writes"); int fuse_fix_broken_io = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, fix_broken_io, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, fix_broken_io, CTLFLAG_RW, &fuse_fix_broken_io, 0, "If non-zero, print a diagnostic warning if a userspace filesystem returns" " EIO on reads of recently extended portions of files"); Index: head/sys/fs/fuse/fuse_vfsops.c =================================================================== --- head/sys/fs/fuse/fuse_vfsops.c +++ head/sys/fs/fuse/fuse_vfsops.c @@ -115,16 +115,16 @@ .vfs_statfs = fuse_vfsop_statfs, }; -SYSCTL_INT(_vfs_fuse, OID_AUTO, init_backgrounded, CTLFLAG_RD, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, init_backgrounded, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, 1, "indicate async handshake"); static int fuse_enforce_dev_perms = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, enforce_dev_perms, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, enforce_dev_perms, CTLFLAG_RW, &fuse_enforce_dev_perms, 0, "enforce fuse device permissions for secondary mounts"); static unsigned sync_unmount = 1; -SYSCTL_UINT(_vfs_fuse, OID_AUTO, sync_unmount, CTLFLAG_RW, +SYSCTL_UINT(_vfs_fusefs, OID_AUTO, sync_unmount, CTLFLAG_RW, &sync_unmount, 0, "specify when to use synchronous unmount"); MALLOC_DEFINE(M_FUSEVFS, "fuse_filesystem", "buffer for fuse vfs layer"); Index: head/sys/fs/fuse/fuse_vnops.c =================================================================== --- head/sys/fs/fuse/fuse_vnops.c +++ head/sys/fs/fuse/fuse_vnops.c @@ -179,17 +179,17 @@ static u_long fuse_lookup_cache_hits = 0; -SYSCTL_ULONG(_vfs_fuse, OID_AUTO, lookup_cache_hits, CTLFLAG_RD, +SYSCTL_ULONG(_vfs_fusefs, OID_AUTO, lookup_cache_hits, CTLFLAG_RD, &fuse_lookup_cache_hits, 0, "number of positive cache hits in lookup"); static u_long fuse_lookup_cache_misses = 0; -SYSCTL_ULONG(_vfs_fuse, OID_AUTO, lookup_cache_misses, CTLFLAG_RD, +SYSCTL_ULONG(_vfs_fusefs, OID_AUTO, lookup_cache_misses, CTLFLAG_RD, &fuse_lookup_cache_misses, 0, "number of cache misses in lookup"); int fuse_lookup_cache_enable = 1; -SYSCTL_INT(_vfs_fuse, OID_AUTO, lookup_cache_enable, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, lookup_cache_enable, CTLFLAG_RW, &fuse_lookup_cache_enable, 0, "if non-zero, enable lookup cache"); /* @@ -198,7 +198,7 @@ */ static int fuse_reclaim_revoked = 0; -SYSCTL_INT(_vfs_fuse, OID_AUTO, reclaim_revoked, CTLFLAG_RW, +SYSCTL_INT(_vfs_fusefs, OID_AUTO, reclaim_revoked, CTLFLAG_RW, &fuse_reclaim_revoked, 0, ""); uma_zone_t fuse_pbuf_zone; Index: head/sys/modules/Makefile =================================================================== --- head/sys/modules/Makefile +++ head/sys/modules/Makefile @@ -129,7 +129,7 @@ filemon \ firewire \ firmware \ - fuse \ + fusefs \ ${_fxp} \ gem \ geom \ Index: head/sys/modules/fuse/Makefile =================================================================== --- head/sys/modules/fuse/Makefile +++ head/sys/modules/fuse/Makefile @@ -1,10 +0,0 @@ -# $FreeBSD$ - -.PATH: ${SRCTOP}/sys/fs/fuse - -KMOD= fuse -SRCS= vnode_if.h \ - fuse_node.c fuse_io.c fuse_device.c fuse_ipc.c fuse_file.c \ - fuse_vfsops.c fuse_vnops.c fuse_internal.c fuse_main.c - -.include Index: head/sys/modules/fusefs/Makefile =================================================================== --- head/sys/modules/fusefs/Makefile +++ head/sys/modules/fusefs/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/fs/fuse + +KMOD= fusefs +SRCS= vnode_if.h \ + fuse_node.c fuse_io.c fuse_device.c fuse_ipc.c fuse_file.c \ + fuse_vfsops.c fuse_vnops.c fuse_internal.c fuse_main.c + +# Symlink for backwards compatibility with systems installed at 12.0 or older +LINKS= ${KMODDIR}/${KMOD}.ko ${KMODDIR}/fuse.ko + +.include