mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 05:16:00 +03:00
[PR #2119] [CLOSED] Make s3fs_flush async #2344
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#2344
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?
📋 Pull Request Information
Original PR: https://github.com/s3fs-fuse/s3fs-fuse/pull/2119
Author: @huntersman
Created: 2/21/2023
Status: ❌ Closed
Base:
master← Head:asynchronous-flush📝 Commits (1)
5feb1b5Update s3fs.cpp📊 Changes
1 file changed (+55 additions, -26 deletions)
View changed files
📝
src/s3fs.cpp(+55 -26)📄 Description
When big file is multi uploading, s3fs will be blocked due to semaphore, we can not do anything until uploading finished. So I change
s3fs_flushasynchronously.I know it's not a good idea to flush asynchronously as #367 already pointed out, but if you want better performance, try it.
I am new to C++, maybe the code is not very good.
Relevant Issue (if applicable)
#2090
Details
A file is written through
s3fs_write→s3fs_flush→s3fs_release. Use C++ thread to do part ofs3fs_flush. Big file usually takes a lot of time to flush, sos3fs_releasecan't be called immediately, I usedoReleasereplaced it.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.