You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fuse: Add readdirplus, multithreading, and passthrough
Implement readdirplus (combined readdir + lookup in one round-trip),
no-op forget (inode table is static for session lifetime), and
FOPEN_KEEP_CACHE on open replies.
Serve with one thread per logical CPU using FUSE_DEV_IOC_CLONE
(clone_fd=true) so each worker gets its own /dev/fuse fd, eliminating
per-request channel lock contention. Arc<OwnedFd> allows read() to
clone the handle and drop the mutex before calling pread, so concurrent
reads on the same file don't serialise.
Add FUSE passthrough support (Linux 6.9+): when FuseConfig::passthrough
is true and the kernel advertises FUSE_PASSTHROUGH, external file reads
are routed directly in-kernel to the repository object fds. Opt-in via
FuseConfig because passthrough requires root and a non-tmpfs backing
filesystem.
Assisted-by: OpenCode (claude-sonnet-4-6)
Signed-off-by: Colin Walters <walters@verbum.org>
0 commit comments