containers / containers/fuse-overlayfs
Whiteout directory not work.
- Dominant language
- Rust
- Stars
- 691
- Forks
- 109
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 2
Description
Reproduce steps:
* Download and prepare the layers [fuse-layers.zip](https://github.com/user-attachments/files/15951378/fuse-layers.zip)
```bash
#!/bin/bash
set -e
mkdir -p /tmp/reproduce
cd /tmp/reproduce
curl -LO https://github.com/user-attachments/files/15951378/fuse-layers.zip
unzip fuse-layers.zip
cd fuse-layers
mkdir -p merged
fuse-overlayfs -o lowerdir="$(pwd)/l1:$(pwd)/l0" merged
```
* Reproduce the bug by access files in following sequence
```bash
#!/bin/bash
# Result is as expected.
ls /tmp/reproduce/fuse-layers/merged/site-packages > /dev/null
# Result is as expected.
ls /tmp/reproduce/fuse-layers/merged/site-packages/setuptools > /dev/null
# Result is wrong. Beacuse there is whiteout file in `l1/site-package/setuptools/.wh..wh.opq`, so we should only see the file `depends.cpython-38.pyc` from `l1`. But result is `config.cpython-38.pyc depends.cpython-38.pyc` which are from `l0`
ls /tmp/reproduce/fuse-layers/merged/site-packages/setuptools/__pycache__
echo ''
echo 'Result is wrong. Beacuse there is whiteout file in `l1/site-package/setuptools/.wh..wh.opq`, so we should only see the file `depends.cpython-38.pyc` from `l1`. But result is `config.cpython-38.pyc depends.cpython-38.pyc` which are from `l0`'
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by downloading fuse-layers.zip and running the provided fuse-overlayfs reproduction in /tmp/reproduce. Trace handling of l1/site-packages/setuptools/.wh..wh.opq and verify that listing __pycache__ shows only depends.cpython-38.pyc from l1, not config.cpython-38.pyc from l0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100