Standard Grant: Sia NFS Gateway - indexd & NFSv4 (rebranded to: JanusFS)

June 2026 Progress Report

What progress was made on your grant this month?

  • VFS improvements and additional testing.
  • The outstanding bi-directional syncing has been added. The project now supports both push (sending local changes to the network) and pull (retrieving network changes and applying them locally). push supports packed uploads when used with the indexd backend. This completes Milestone 2.
  • Milestone 3: the previous (now legacy) VFS implementation was replaced with the VFS from the new codebase, and any obsolete parts were removed. Feature parity has been reached as outlined in the original project plan.
  • Snapshot and branching functionality was added, though it is not yet exposed via the CLI.

Detail the tasks worked on this month per milestone, with the appropriate Pull Request link(s), as outlined in the guide:

Milestone Task Pull Request(s) Additional Notes
Milestone 2 1. VFS improvements File operations & improved caching · Pull Request #12 · rrauch/sia_nfs · GitHub
2. Bi-directional syncing Bi-directional syncing · Pull Request #13 · rrauch/sia_nfs · GitHub Completes Milestone 2
Milestone 3 3. NFS integration NFS integration · Pull Request #15 · rrauch/sia_nfs · GitHub Replaced VFS implementation

Summarize any problems that you ran into this month and how you’ll be solving them.

While the project is developing as planned in terms of functionality, it currently lacks polish and testing. I haven’t had enough time to focus on these areas yet. For the same reason, I’ve had to push the project rebranding to next month’s workload again.

Next month, I’ll prioritize this work over Milestone 4. Overall, I estimate the project is around 1.5-2 weeks behind the original timeline.

What will you be working on next month?

  • Implementing the missing CLI functions, such as:
    • create new filesystem
    • list filesystems
    • show filesystem details
    • create branch
  • Additional testing across Windows, Linux, and macOS clients with different workloads
  • Cleaning up the codebase and updating dependencies
  • Rebranding the project
  • Updating user-facing documentation
  • Milestone 4