Commit Graph

1326 Commits

Author SHA1 Message Date
be28fbc7b8 Refactor StatCache words from NoObject to Negative 2025-06-10 10:36:48 +09:00
f1a954cbcb Refactor StatCache truncate processing 2025-06-08 23:51:31 +09:00
c620262d3d Fixed s3fs_flush to update pending meta for macos and nomultipart mode 2025-06-08 22:05:50 +09:00
c869b3996f Improve error handling (#2671)
Found via C++17 [[nodiscard]].
2025-06-07 14:58:06 +09:00
109c968baa Changed some INFO level log messages to DBG level 2025-06-07 00:16:44 +09:00
3d6975b369 Fixed a bug when changing fdentity to a temporary path 2025-05-22 03:04:03 +09:00
f2542f22fe Require C++14 (#2596)
This only has some minor additions of std::make_unique, digits
separators, std::string literals, and more flexible constexpr.
References #2469.
2025-05-18 12:34:53 +09:00
3421025074 Use region instead of endpoint for configuration (#2669)
This is more consistent with the AWS docs.  Generally endpoint refers
to an HTTP URL not just the region.  Fixes #2668.
2025-05-18 10:49:35 +09:00
04a82583d1 A case of HEAD response for mp is different on compatible storage 2025-04-02 23:04:27 -07:00
885b1efac6 change the way to get existing fdentity to optimize concurrent IO performance (#2623)
* change the way to get existing fdentity

* fix compiling err for ver > 1.91

* use GetROPath instead of GetPath

* compare FdEntity::ro_path first in FdEntity::GetFdEntityHasLock()

---------

Co-authored-by: fangqianan.fqa <fangqianan.fqa@alibaba-inc.com>
2025-03-01 01:56:07 +09:00
e63fe7ec65 Added backup variable for fdcache entity path (#2637) 2025-02-15 12:19:58 +09:00
dc92b1b087 Remove unneeded uses of std::map::operator[] (#2642)
These unintentionally mutate the map.  Script suggested by @danmar.
2025-02-09 11:21:44 +09:00
84dcf34e2c Fixed refactoring mistakes about loading IAM credentials 2025-01-19 03:24:30 +09:00
b679e1db98 Fixed memory leak found by valgrind 2025-01-19 03:22:11 +09:00
87874caf95 Remove double free in DestroyCurlShareHandle (#2626)
ShareHandles.erase implicitly calls this via the unique_ptr
destructor.
2025-01-03 14:59:06 +09:00
5e39eff403 Remove explicit std::string constructors (#2619)
char * automatically convert via the implicit std::string constructor.
2024-12-15 10:18:44 +09:00
6c77cd8780 Fixed a bug in check_service_req_threadworker 2024-12-15 09:51:42 +09:00
669cba3240 Address some 32-bit warnings (#2615) 2024-12-01 10:32:28 +09:00
d4f3fb01fc Make some methods const (#2614)
Found via cppcheck --inconclusive.
2024-12-01 10:31:03 +09:00
65e4aef2a1 Prefer C++-style casts over C-style casts (#2599)
The former are easier to identify.  Found via clang-tidy.

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-12-01 10:29:08 +09:00
d13396127c Delete Semaphore copy and move methods (#2613)
This matches the macOS implementation.
2024-12-01 10:28:50 +09:00
61abf80197 Organized multi-threading related options 2024-11-29 05:13:06 +09:00
956e8c5750 Added new class for curl share handle
Added new class for curl share handle.
And, paired the curl handle(S3fsCurl) with the worker thread.
Changed that each thread has its own SSL session cache to prevent data
races.
So OpenSSL suppression for ThreadSanitizer is no longer necessary, so
reverted it.
2024-11-28 03:40:40 +09:00
bfc3ea767a Removed last use of S3fsMultiCurl and changed those thread handling 2024-11-26 10:47:03 +09:00
499577c2a9 Refactored for standardizing content and copy handling for Multipart Upload 2024-11-25 05:48:38 +09:00
7410b95db2 Refactored parallel get object request 2024-11-23 02:22:27 +09:00
86b5c9d88e Refactored multipart put head request 2024-11-16 09:35:23 +09:00
a1e47bc287 Changed multiple Head requests from S3fsMultiCurl to ThreadPoolMan 2024-11-14 07:41:03 +09:00
efc23316e9 Refactored single type requests to use through ThreadPoolMan 2024-11-12 09:08:14 +09:00
a680d3e138 Removed CurlHandlerPool and simplified it
Removed CurlHandlerPool and simplified it.
And against data race in OpenSSL, temporarily changed to not use Sessin cache.
2024-11-12 07:33:04 +09:00
cc29bea81b Call std::get_time instead of strptime (#2598)
This reduces the Windows-specific code.
2024-11-09 19:28:40 +09:00
af0d7ba45e Ensure fdent_data_lock is acquired after fdent_lock (#2595) 2024-11-09 19:28:13 +09:00
45b32046cd Consolidate lower and upper logic (#2594) 2024-11-06 00:07:12 +09:00
a101b88114 Compare case-insensitively instead of copying (#2593)
Also remove some code duplication.
2024-11-06 00:05:05 +09:00
d9ccdc4fce Look up header values directly (#2592)
stat_cache_entry::meta uses a case-insensitive comparator so there is
no need to loop over each entry to compare each key with lowercase.
2024-11-05 07:16:19 +09:00
7a989a58a0 Remove expensive log message during s3fs_getxattr (#2590) 2024-11-05 00:00:58 +09:00
82f694e473 Avoid unneeded std::string copies (#2589) 2024-11-04 23:59:54 +09:00
9a155c81a7 Enable clang-analyzer (#2588)
Also fix a few smaller issues.
2024-11-04 23:58:43 +09:00
9b888fa9b3 Fixed readdir bug with objects receiving EPERM on HEAD request 2024-11-04 15:25:12 +09:00
b87a8400e3 Use pass-by-value for peeloff (#2578)
This avoids copies when used with std::move.
2024-10-29 18:21:07 +09:00
3b226ed672 Make psemaphore similar to C++20 std::counting_semaphore (#2569) 2024-10-29 08:23:05 +09:00
07881195f2 Add missing mutex header (#2576)
Found via clang-tidy.
2024-10-29 00:11:28 +09:00
7cb46db945 Add missing string header (#2574)
Found via clang-tidy.
2024-10-25 16:13:57 +09:00
fe82477a6b Add missing utility header for std::move (#2572)
Found via clang-tidy.
2024-10-25 14:55:01 +09:00
b8e56a40b2 Fixed a bug in clearing the queue accumulated during USR1 processing 2024-10-25 14:47:15 +09:00
3ff93d7342 Simplify bucket_block_count initialization (#2571) 2024-10-25 08:37:48 +09:00
31061416bc Separate serialization and deserialization code (#2566)
This is clearer than a bool parameter.
2024-10-24 08:22:35 +09:00
a8af6cb3b4 Run clang-tidy against test files (#2568) 2024-10-23 20:46:01 +09:00
fe0a62118d Remove some unused parameters (#2565) 2024-10-22 20:34:22 +09:00
cc5271ef2b Enable clang-tidy narrowing conversions (#2564) 2024-10-22 19:55:10 +09:00