containers / containers/fuse-overlayfs

Setting "fast_ino=1" results in wrong directory entries

Open
#376 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

Hello,

In a use case where fast_ino is set to 1, wrong entries are found in some of the union directories.

"/data-old" and "/data-new" are two independent nfs3 filesystems. Two fuse-overlayfs are mounted with the following commands:

`# fuse-overlayfs -o ro,lowerdir=/data-new:/data-old,timeout=1,noacl,noatime,static_nlink,threaded=1,fast_ino=1 /data-fast_ino`

`# fuse-overlayfs -o ro,lowerdir=/data-new:/data-old,timeout=1,noacl,noatime,static_nlink,threaded=1 /data`

Under /data-fast_ino, there are some subdirectories that come from /data-new show entries that are directly under /data-old. i.e.,

/data-new/a/b/c/{some files}
/data-old/{x, y, z, etc., but no dir 'a', which is only in /data-new}

under /data/a/b/c/ there are the dirs x, y, and z, while missing some files from /data-new/a/b/c/.

A check with "stat -c $i" shows that the inode numbers of the entries are the same under "/data/a/b/c/" and "/data-fast_ino/a/b/c/", even though some entry names are wrong, and their types are shown as directories when they are actually regular files under "/data-fast_ino/a/b/c/".

Under "/data/a/b/c/" everything is correct.

fuse-overlayfs versions: 1.9 and 1.10-dev (20220927).
FUSE library version 3.11.0
using FUSE kernel interface version 7.31
fusermount3 version: 3.11.0

Is this a bug or expected bahevior? If expected, please document it. Thanks!

Kawashima

Edit:
Not sure if this is related to https://github.com/containers/fuse-overlayfs/issues/359
(didn't have time to check).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.