]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
fusefs: merge from projects/fuse2
authorasomers <asomers@FreeBSD.org>
Wed, 7 Aug 2019 00:38:26 +0000 (00:38 +0000)
committerasomers <asomers@FreeBSD.org>
Wed, 7 Aug 2019 00:38:26 +0000 (00:38 +0000)
commit059ede2b0fcb51a795241e7d30e0403497c0e304
tree3a1b2ed05246af8bfd535b9ff6d59a508b264b2d
parent706b335033437f96b670364cf7064065fc858ac3
parentb51e4fb2268dd4319a75462fafabc317fcc4e178
fusefs: merge from projects/fuse2

This commit imports the new fusefs driver. It raises the protocol level
from 7.8 to 7.23, fixes many bugs, adds a test suite for the driver, and
adds many new features. New features include:

* Optional kernel-side permissions checks (-o default_permissions)
* Implement VOP_MKNOD, VOP_BMAP, and VOP_ADVLOCK
* Allow interrupting FUSE operations
* Support named pipes and unix-domain sockets in fusefs file systems
* Forward UTIME_NOW during utimensat(2) to the daemon
* kqueue support for /dev/fuse
* Allow updating mounts with "mount -u"
* Allow exporting fusefs file systems over NFS
* Server-initiated invalidation of the name cache or data cache
* Respect RLIMIT_FSIZE
* Try to support servers as old as protocol 7.4

Performance enhancements include:

* Implement FUSE's FOPEN_KEEP_CACHE and FUSE_ASYNC_READ flags
* Cache file attributes
* Cache lookup entries, both positive and negative
* Server-selectable cache modes: writethrough, writeback, or uncached
* Write clustering
* Readahead
* Use counter(9) for statistical reporting

PR: 199934 216391 233783 234581 235773 235774 235775
PR: 236226 236231 236236 236291 236329 236381 236405
PR: 236327 236466 236472 236473 236474 236530 236557
PR: 236560 236844 237052 237181 237588 238565
Reviewed by: bcr (man pages)
Reviewed by: cem, ngie, rpokala, glebius, kib, bde, emaste (post-commit
review on project branch)
MFC after: 3 weeks
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Pull Request: https://reviews.freebsd.org/D21110
etc/mtree/BSD.tests.dist