containers / containers/fuse-overlayfs

Whiteout directory not work.

Open
#425 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.