google / google/gvisor

Support Virtiofs (New filesystem type based on FUSE)

Open
#12,396 4 comments 1 reaction 0 assignees View on GitHub
status: help wanted type: enhancement
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

For heavy containers running full linux (like cloud-hypervisor) there's an option to provide filesystem using virtiofs protocol (which is FUSE where the server is running on the host).

Would be helpful if gVisor also supported that.

Applications are obvious: a container may want to access large filesystems without downloading it on the host (as both root and non-root filesystems).

(We actually only need readonly access with overlay, which is probably much easier to make work, but I guess others may want full rw access.)

Currently fuse can be mounted on the host and exported to gVisor as regular host filesystem, but it has drawbacks:
- larger overhead
- less secure
- easier to overwhelm host kernel
- bugs depend host kernel version

There's document describing gVisor FUSE work in progress ([fuse.md](https://github.com/google/gvisor/blob/master/pkg/sentry/vfs/g3doc/fuse.md)), but it only mentions fuse server running in the sandbox, but not on the host.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.