Giuseppe Scrivano bbf631d046
fuse-overlays: fix interaction of unlink(2) with readdir(2)
fix an interesting interaction between unlink(2) and readdir(2) that
can confuse the cache.

If a file is unlinked before the readdir(2) is done, it is not removed
from the list generated when the directory was first opened.  Thus the
result is that readdir(2) will return the file even if it was unlinked
and moved to the work dir until the cache is released.

The fix is to skip dentries that are hidden while iterating the list.

Closes: https://github.com/containers/libpod/issues/2342

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-02-15 19:19:21 +01:00
2018-07-10 17:06:23 +02:00
2018-07-10 17:06:23 +02:00
2018-10-15 21:11:22 +02:00
2019-01-15 11:09:24 +01:00
2018-07-30 15:13:57 +02:00
2018-08-10 17:14:19 +02:00
2018-08-10 17:14:19 +02:00

fuse-overlayfs

An implementation of overlay+shiftfs in FUSE for rootless containers.

Limitations:

Read-only mode is not supported, so it is always required to specify an upperdir and a workingdir.

Usage:

$ fuse-overlayfs -o lowerdir=lowerdir/a:lowerdir/b,upperdir=up,workdir=workdir merged

Specify a different UID/GID mapping:

$ fuse-overlayfs -o uidmapping=0:10:100:100:10000:2000,gidmapping=0:10:100:100:10000:2000,lowerdir=lowerdir/a:lowerdir/b,upperdir=up,workdir=workdir merged

Build Requirements:

This links to libfuse > v3

On fedora: dnf install fuse3-devel

Static Build:

buildah bud -t ./Dockerfile.static .

Description
FUSE implementation for overlayfs
Readme 1.9 MiB
Languages
C 61.4%
M4 33.3%
Shell 2.2%
Makefile 2.1%
Roff 0.7%
Other 0.3%