Skip to content

Comments

perf(fuse): optimize Linux mount options inspired by rclone#308

Merged
javi11 merged 1 commit intomainfrom
perf/fuse-linux-optimizations
Feb 20, 2026
Merged

perf(fuse): optimize Linux mount options inspired by rclone#308
javi11 merged 1 commit intomainfrom
perf/fuse-linux-optimizations

Conversation

@javi11
Copy link
Owner

@javi11 javi11 commented Feb 18, 2026

Summary

  • DisableReadDirPlus: Prevents kernel READDIRPLUS which does per-entry stat calls on directory listings, making ls faster for directories with many files
  • DirectMount: Calls mount(2) syscall directly instead of going through fusermount helper binary on Linux (auto-falls back if it fails)
  • MaxBackground 64: Increases concurrent async I/O requests from kernel default of 12, keeping more I/O in flight for prefetch pipelines
  • Default MaxReadAhead 128KB: Sets a sensible default when unconfigured (matches rclone)
  • 1MB fetch buffer pool: Reduces allocation churn during chunk fetches (was 256KB, now matches rclone's buffer size)

Test plan

  • go build ./... passes
  • go test ./internal/fuse/... passes
  • Test FUSE mount on Linux environment to verify speed improvements
  • Verify DirectMount falls back gracefully in unprivileged containers

🤖 Generated with Claude Code

Add FUSE mount options that improve performance on Linux:
- DisableReadDirPlus: skip per-entry stat on directory listings
- DirectMount: bypass fusermount helper for faster mount
- MaxBackground 64: allow more concurrent async kernel I/O (default 12)
- Default MaxReadAhead to 128KB when unconfigured
- Increase fetch buffer pool from 256KB to 1MB for fewer allocations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@javi11 javi11 merged commit 942032b into main Feb 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant