[GH-ISSUE #2393] Readdir result misses certain dir in 1.92 version #1176

Closed
opened 2026-03-04 01:51:56 +03:00 by kerem · 3 comments
Owner

Originally created by @hbao0915 on GitHub (Dec 25, 2023).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/2393

Additional Information

Version of s3fs being used (s3fs --version)

V1.92 (commit:unknown) with OpenSSL

Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse or dpkg -s fuse)

2.9.9

Kernel information (uname -r)

5.4.0-153-generic

GNU/Linux Distribution, if applicable (cat /etc/os-release)

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

How to run s3fs, if applicable

/root/s3fs-fuse-1.92/src/s3fs test-list /mnt/test -o passwd_file=/root/aksk -o url=https://obs.cn-south-1.myhuaweicloud.com -o compat_dir

s3fs syslog messages (grep s3fs /var/log/syslog, journalctl | grep s3fs, or s3fs outputs)

Details about issue

mkdir /mnt/test/b (/mnt/test is the MOUNTPOINT)
touch /mnt/test/b/file
Then use SDK to create a object named /ab/cd.

(There should be 3 objects in the backend storage server, /b, /b/file and /ab/cd.)

At last, readdir to the mountpoint root directory, the result expects to be b and ab, BUT it only shows b.

Originally created by @hbao0915 on GitHub (Dec 25, 2023). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/2393 ### Additional Information #### Version of s3fs being used (`s3fs --version`) V1.92 (commit:unknown) with OpenSSL #### Version of fuse being used (`pkg-config --modversion fuse`, `rpm -qi fuse` or `dpkg -s fuse`) 2.9.9 #### Kernel information (`uname -r`) 5.4.0-153-generic #### GNU/Linux Distribution, if applicable (`cat /etc/os-release`) NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.6 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal #### How to run s3fs, if applicable /root/s3fs-fuse-1.92/src/s3fs test-list /mnt/test -o passwd_file=/root/aksk -o url=https://obs.cn-south-1.myhuaweicloud.com -o compat_dir #### s3fs syslog messages (`grep s3fs /var/log/syslog`, `journalctl | grep s3fs`, or `s3fs outputs`) ### Details about issue `mkdir /mnt/test/b` (/mnt/test is the MOUNTPOINT) `touch /mnt/test/b/file` Then use SDK to create a object named `/ab/cd`. (There should be 3 objects in the backend storage server, `/b`, `/b/file` and `/ab/cd`.) At last, readdir to the mountpoint root directory, the result expects to be `b` and `ab`, BUT it only shows `b`.
kerem closed this issue 2026-03-04 01:51:56 +03:00
Author
Owner

@hbao0915 commented on GitHub (Dec 25, 2023):

I did some more testing, and found that if I remove /b/file, the readdir result becomes correct.

<!-- gh-comment-id:1868904727 --> @hbao0915 commented on GitHub (Dec 25, 2023): I did some more testing, and found that if I remove `/b/file`, the readdir result becomes correct.
Author
Owner

@ggtakec commented on GitHub (Feb 12, 2024):

@hbao0915
Around v1.91, the handling of objects created from SDKs other than s3fs is slightly different.(These are related to the compat_dir option, etc.)
s3fs performs processing to detect objects (including directory paths) created with SDK(aws CLI), etc.

If possible, try using the code from the master branch or restarting it with the compat_dir option.
With the current master code, this issue seems to have been resolved.

<!-- gh-comment-id:1938222865 --> @ggtakec commented on GitHub (Feb 12, 2024): @hbao0915 Around v1.91, the handling of objects created from SDKs other than s3fs is slightly different.(These are related to the `compat_dir` option, etc.) s3fs performs processing to detect objects (including directory paths) created with SDK(aws CLI), etc. If possible, try using the code from the master branch or restarting it with the compat_dir option. With the current master code, this issue seems to have been resolved.
Author
Owner

@hbao0915 commented on GitHub (Jul 7, 2024):

1.93 version seems fine according to my test scenario, thx

<!-- gh-comment-id:2212446390 --> @hbao0915 commented on GitHub (Jul 7, 2024): 1.93 version seems fine according to my test scenario, thx
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#1176
No description provided.