mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 13:26:00 +03:00
[GH-ISSUE #370] HEAD requests every 4096 bytes #192
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#192
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 @cbeckr on GitHub (Mar 3, 2016).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/370
Doing a simple cp operation using current master (
d6e6eebb95):cp 4.mp4 /mnt/s3/4.mp4yields a
HEADrequest with every block written bycp(every 4096 bytes).fstab:
s3fs#bucket /mnt/s3 fuse _netdev,noauto,allow_other,default_acl=public-read,dbglevel=dbg,curldbg,retries=100,parallel_count=2,enable_noobj_cache,use_cache=/tmp/s3fs-cache,stat_cache_expire=60 0 0
Log:
@RobbKistler commented on GitHub (Mar 4, 2016):
I see 2 HEAD requests and ~9 4096 byte calls into s3fs_write. I don't see a PUT of the object, either. Can you add some detail on why you think the HEAD is happening every 4k?
@cbeckr commented on GitHub (Mar 4, 2016):
Sorry, I should have mentioned that this is just a brief excerpt - the HEAD happens about twice per second, hence the full log spans several GB.
The PUT actually never happens for large files if the cache is enabled (the file will be 0 bytes on S3). But this is probably a separate issue.
@RobbKistler commented on GitHub (Mar 4, 2016):
I see this interesting log before the HEAD:
That log line is generated by s3fs_getxattr(), which gets called when the file is accessed with getfattr. Something is looking for the extended attributed named "security.capability". I don't see anywhere this would be called internally by s3fs-fuse.
Is it possible something other than the cp process is accessing the file? I haven't seen this before, so I'm just guessing.
If you start s3fs-fuse from the command line instead of fstab, you can add "-d -d". This will enable debug messages from FUSE. Look for a line like the following before the HEAD. It would interesting to know if the pid is that of the cp process, or something else.
unique: 2, opcode: GETXATTR (3), nodeid: 1, insize: 56, pid: 23336@ggtakec commented on GitHub (Mar 6, 2016):
Hi, @cbeckr
I had reproduced this.
By that supports xattr, it seems to confirm the security.capability every 64KB from FUSE(OS?).
If s3fs uses the stat_cache, s3fs does not send the request. But s3fs_getxattr callback function is called every 64KB.
I will check the codes and logic about implementation of xattr support, and I think this logic should be optinal.
Please wait a while and if you can please set max_stat_cache_size option.
@RobbKistler
Thanks for your help.
Regards,
@ggtakec commented on GitHub (Mar 13, 2016):
Hi @cbeckr
I merged #371 for this issue.(you can see detail #371 comments)
If you can, please try to use latest master branch codes.
Regards,