Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alpine getdents64 lost direntries #133

Open
chengyu-l opened this issue Nov 8, 2022 · 3 comments
Open

alpine getdents64 lost direntries #133

chengyu-l opened this issue Nov 8, 2022 · 3 comments

Comments

@chengyu-l
Copy link

I run a fuse client in alpine docker container, and then execute "ls -alh |wc -l " command. I found some directories were discarded.

the reason I guess: alpine linux getdents64 buffer size is 2048 byte, and jacobsa fuse is 4096 byte (op.Dst length), alpine cannot hold all the data, so it discards some.

Recurrence steps: create 5000 files in one directory, mount a client in alpine linux, execute "ls -alh |wc -l " command

Other: If I write less data each time(like 64 direntries)when the kenernl call ReadDir function, there will be no problem

@chengyu-l
Copy link
Author

@stapelberg can you help me?

@stapelberg
Copy link
Collaborator

No, I don’t have time to help with this, sorry. But, if you can figure out a fix, I can review your PR.

@ashmeenkaur
Copy link

Seems to be duplicate of GoogleCloudPlatform/gcsfuse#1054 which was fixed in GCSFuse version 0.42.4
@chengyu-l can you check if you are still facing this error with latest GCSFuse version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants