Sentry Virtual Filesystem v2 (VFS2)
- Dominant language
- Go
- Stars
- 19.3k
- Forks
- 2k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 264
Description
Current VFS implementation in the Sentry has performance shortcomings with regarding to the number of operations that need to be performed for path walks. This is especially noticeable when using gofer mounted filesystems, where the round trip cost for each operation is aggravated by the RPC and scheduling costs.
VFS2 addresses this by delegating path resolution to the filesystem, making it possible to send a single RPC for each syscall operation, instead of one RPC per path component in the operation. For example, `stat(/foo/bar/goo)` generates at least 3 RPC round trips to the gofer (`foo`, `bar`, `goo`), while VFS2 makes only 1.
VFS2 also allows for the implementation of recursive bind mounts, which would require a major refactoring with the current implementation.
Contributor guide
Assessment
This issue has not been assessed yet.