Skip to content

feat(fuse): improve FUSE performance and unify mount configuration - #285

Merged
javi11 merged 3 commits into
mainfrom
fix-fuse-speed
Feb 13, 2026
Merged

feat(fuse): improve FUSE performance and unify mount configuration#285
javi11 merged 3 commits into
mainfrom
fix-fuse-speed

Conversation

@javi11

@javi11 javi11 commented Feb 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Fetch deduplication: Introduced singleflight.Group in the Downloader to collapse concurrent fetches for the same chunk range, eliminating redundant downloads from both sync and prefetch paths
  • Unified mount config: Refactored frontend to merge RClone and native FUSE mount settings into a single MountConfigSection component, with backend handlers updated to match
  • Stream tracking & tuning: Added StreamTracker interface to the FUSE layer for better resource management, increased default inflight_requests from 3 to 10, and enhanced downloader performance

Test plan

  • Verify FUSE mount starts and serves files correctly with new defaults
  • Confirm fetch deduplication works by streaming the same file from multiple clients simultaneously
  • Test mount configuration page loads and saves both RClone and native FUSE settings
  • Validate legacy "rclone" and "fuse" config paths redirect to the unified "mount" section
  • Check stream tracking metrics are reported during active file streaming

🤖 Generated with Claude Code

…racking

- Increased the default inflight_requests from 3 to 10 in configuration files and UI components to allow for more concurrent requests per connection.
- Updated the ProviderModal component to reflect the new inflight_requests value.
- Enhanced the FUSE layer to support stream tracking by introducing a StreamTracker interface and integrating it into the FUSE server and file handling logic.
- Adjusted the downloader and file handling mechanisms to improve performance and resource management during streaming operations.
- Introduced a shared singleflight.Group in the Downloader for deduplicating fetch requests, allowing concurrent fetches for the same chunk range to be collapsed.
- Updated CachedFile to utilize the Downloader's fetchGroup, enhancing efficiency by synchronizing sync-path and prefetch-path fetches.
- Added a noopFetchGroup for standalone CachedFile instances when no downloader is present.
- Refactored FuseConfig to use "mount" as the section identifier for configuration updates.
- Added a new MountConfigSection component to handle both RClone and native FUSE mount configurations.
- Updated ConfigurationPage to redirect legacy "rclone" and "fuse" paths to the new "mount" section.
- Enhanced type definitions to support unified mount configuration, including mount_type and mount_path.
- Adjusted backend handlers to accommodate the new mount configuration structure.
@javi11
javi11 merged commit cd3fedc into main Feb 13, 2026
1 check passed
@javi11
javi11 deleted the fix-fuse-speed branch February 26, 2026 14:08
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