containers / containers/fuse-overlayfs
File descriptor leak for mmaped files
- Dominant language
- Rust
- Stars
- 691
- Forks
- 109
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 2
Description
I'm running rootless `podman` container backed by `fuse-overlayfs` within which I'm running process opening many files one by one, each being `mmap()`ed and immediately `close()`d but all `mmap()` are kept (to be specific that's linking https://github.com/rui314/mold/issues/797). Now it all works fine within host system or in `podman` container with `overlay` driver (which I unfortunately cannot use in this particular case) or when files are not `mmap()`ed, but scenario fails with `fuse-overlayfs` due to `-EMFILE (Too many open files)`. It appears that `mmap()` on file results in file descriptor being kept by `fuse-overlayfs` process even though file is `close()`d afterwards.
Is this something that can be avoided or is it perhaps shortcoming of `fuse` filesystems?
Contributor guide
No contributing guide indexed for this repository
Research direction
No source file or test is named. Start by reproducing the rootless podman/fuse-overlayfs workload that mmap()s and closes many files, then compare descriptor behavior with the host and overlay driver; done when the cause is identified and the behavior is fixed or clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100