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
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
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
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
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
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
b87a8400e3
Use pass-by-value for peeloff ( #2578 )
...
This avoids copies when used with std::move.
2024-10-29 18:21:07 +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
fe0a62118d
Remove some unused parameters ( #2565 )
2024-10-22 20:34:22 +09:00
8c5ac5c2d9
Remove more raw pointers ( #2556 )
...
Make destructor public so std::unique_ptr can call it. Also restrict
singleton creation to satisfy cppcheck.
2024-10-20 16:06:05 +09:00
141d74f187
Use auto for iterator variable types ( #2554 )
...
This touches a few other long type names. Applied via clang-tidy
-fix.
2024-10-18 21:57:52 +09:00
e613ae55bb
Replace curl_warnings_lock with std::atomic ( #2550 )
...
This is simpler and lighter-weight.
2024-10-18 00:36:36 +09:00
c5031a5a97
Simplify some method parameters ( #2553 )
...
Add const where possible and avoid unnecessary reference parameters.
2024-10-18 00:05:42 +09:00
c00b5fd4bb
Propoagate error state from insertV4Headers ( #2547 )
...
s3fs_sha256_hex_fd returns an empty string when calculating the hash
fails.
2024-10-14 10:28:19 +09:00
743c86e506
Fix issues discovered by Coverity ( #2535 )
2024-10-08 08:07:13 +09:00
e80de15cc6
Make FILE ownership clearer via unique_ptr ( #2534 )
2024-10-06 18:03:02 +09:00
df5364d758
Enable readability-implicit-bool-conversion ( #2530 )
...
This fixes one real error, one misreported EPERM, and some false
positives. References #2529 .
2024-09-28 15:28:50 +09:00
e8f1e3473c
Fixed miss-return code in S3fsCurl::RequestPerform
2024-09-28 13:25:37 +09:00
5691071ac6
Log entire line when curldbg lacks a newline ( #2526 )
...
Previously -o curldbg=body would read uninitialized memory.
2024-09-28 11:35:49 +09:00
7d2d4e8866
s3 signv4 support uri endpoints ( #2510 )
2024-08-17 13:46:13 +09:00
77ffe7d634
Wrap CURL* in a std::unique_ptr ( #2495 )
...
This is safer and clarifies the ownership of pointers.
Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com >
2024-07-15 15:15:03 +09:00
50d5a73f84
Simplify curl progress tracking ( #2486 )
...
Use a struct with named fields instead of a pair for clarity and use a
single map to store the structs for efficiency.
2024-07-06 16:35:25 +09:00
622dc0a815
Convert pthread_mutex to std::mutex ( #2476 )
...
This simplifies resource management and improve Windows compatibility.
2024-06-24 00:48:01 +09:00
fa807a56fb
Fix typos ( #2473 )
2024-06-23 15:33:46 +09:00
254d717a4a
Address clang-tidy 19 warnings ( #2474 )
2024-06-23 12:21:51 +09:00
2841601ad5
Remove uses of AutoLock::ALREADY_LOCKED ( #2466 )
...
Instead annotate the methods with REQUIRES so that the caller knows if
they should lock. For public interfaces, introduce HasLock wrappers.
This simplifies control flow, allows migration to std::mutex, and
eventually will enable use of static lock checking.
2024-06-23 11:24:51 +09:00
ebae5a302f
Prefer std::string::clear where possible ( #2467 )
...
This is somewhat more clear and is declared noexcept.
2024-06-10 23:36:49 +09:00
dd6815b90f
retry request on HTTP 429 error
2024-04-14 12:09:26 +09:00
95026804e9
Support SSL client cert and added ssl_client_cert option
2024-04-14 10:21:48 +09:00
a5cdd05c25
Added ipresolve option
2024-03-13 22:29:17 +09:00
c97f7a2a13
Address clang-tidy 18 warnings ( #2428 )
2024-03-07 01:04:22 +09:00
b97fd470a5
Abort for SSE-KMS encryption type and not SSL/TLS specified
2024-02-23 13:11:56 +09:00
e89adf6633
Fixed a bug that mounting with ksmid specified to fail
2024-02-18 21:18:50 +09:00
68bbfee8ea
Address clang-tidy modernize-deprecated-headers ( #2370 )
2023-11-19 10:00:16 +09:00
4845831f93
Convert some const to constexpr ( #2342 )
...
This guarantees that the function or value will resolve at compile-time.
2023-11-14 22:15:17 +09:00
0cd73e406d
Address clang-tidy 17 warnings ( #2362 )
2023-11-12 11:48:08 +09:00