mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 05:16:00 +03:00
[GH-ISSUE #2585] Consecutive xattr write errors on FUSE-T macos #1243
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#1243
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ggtakec on GitHub (Nov 2, 2024).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/2585
Relevant Issue (if applicable)
#2418 #2205 #2198 #2531 #2533
Overview
This issue has come up many times in the past, and I was able to find the situation in which
test_extended_attributeswas failing.Detail
I confirmed an unknown behavior of FUSE-T in the following part of the
test_extended_attributestest code(excerpt).In part (3) above, there is a problem with
s3fs_setxattr(setxattrhook) called by FUSE when writing toxattr(name=key1) for the second time.Below are excerpts from the logs before and after the call when the test failed.
There seem to be two problems.
The first is the following part in (3) log:
The part where
nameshould bekey1isempty.As a result, the value that should be set to
key1is registered as the value of the""key.The other is that when (3) is written,
s3fs_open(openhook) is called continuously.(Actually, it may be a different thread, but this has not been confirmed.)One of the two opens closes(
flush->releases) after writingxattr, and the other closes after readingxattr.This looks like the file is being opened twice simultaneously to
set/get xattr(the commands are being called sequentially so it makes me wonder why they are being processed simultaneously)Either way, the test fails due to the
emptykey call toxattrwrite.You can easily inspect this example at https://github.com/ggtakec/s3fs-fuse/tree/test/bug_macos_test.
(This is only test on macos, and only run
test_extended_attributescase)I will share this situation with the fuse-t as issue.
As for s3fs, I will bypass this unstable test in the case of macos.(I will post a PR later)
@ggtakec commented on GitHub (Jun 28, 2025):
I've made this issue a reference for the problem with bypassing tests in #2687.
In #2687, only the delete part of xattr is bypassed, but there may still be problems with set.
And I was a bit worried; I don't think AppleDouble files were created in macos-fuse (osx-fuse), but it seems that macos-fuse-t creates them.
In currently Github Actions(CI), it seems that AppleDouble files are created.
I'm leaving this here to share information as it may be necessary to investigate this further.