Mounting "modern" FUSE filesystems (with filenames > 255 chars) into gVisor containers
- Dominant language
- Go
- Stars
- 19.3k
- Forks
- 2k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 264
Description
### Description
We at Modal Labs run gVisor containers for our users. Our users can mount various storage options into their containers, including cloud object buckets (https://modal.com/docs/guide/cloud-bucket-mounts).
Under the hood, we use AWS's `mountpoint-s3` tool (https://github.com/awslabs/mountpoint-s3) which mounts remote a cloud bucket as a FUSE filesystem on the host.
The problem: this FUSE filesystem allows filenames longer than 255 chars. Such long object names are also legal in cloud object storage. gVisor however [doesn't allow such long names](https://github.com/abhagwat/gvisor/blob/56927bc7020086094d56729845d56c23a76031e7/pkg/fsutil/fsutil_unsafe.go#L101-L111). So, when we mount such a cloud bucket (with long object names) inside the container, gVisor panics.
We'd like some advice here: is there any path to handling such situations better within gVisor?
### Is this feature related to a specific bug?
_No response_
### Do you have a specific solution in mind?
No.
Contributor guide
Assessment
This issue has not been assessed yet.