Commit Graph

1249 Commits

Author SHA1 Message Date
Takeshi Nakatani
e8f1e3473c Fixed miss-return code in S3fsCurl::RequestPerform 2024-09-28 13:25:37 +09:00
Andrew Gaul
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
Andrew Gaul
22869d99a5
Set errno to zero before calling sysconf (#2515)
FreeBSD returns -1 since it has no limits for _SC_GETPW_R_SIZE_MAX and
_SC_GETGR_R_SIZE_MAX but is not required to reset errno.  Also fix up
logging.  Fixes #2514.
2024-08-24 09:48:54 +09:00
Fabrizio
7d2d4e8866
s3 signv4 support uri endpoints (#2510) 2024-08-17 13:46:13 +09:00
Naoki Ikeguchi
4fe2652c6c
Fix Windows compilation (#2506)
* docs: Fix Windows compile instructions

Signed-off-by: Naoki Ikeguchi <me@s6n.jp>

* fix: Use fallocate stub on MSYS2

Signed-off-by: Naoki Ikeguchi <me@s6n.jp>

---------

Signed-off-by: Naoki Ikeguchi <me@s6n.jp>
2024-07-27 09:54:38 +09:00
Andrew Gaul
fcb5aa77fb
Fix minor issues when compiling with MSYS (#2505)
References #2503.
2024-07-27 09:43:16 +09:00
Andrew Gaul
411e42384e
Acquire lock before logging (#2502)
This is not safe -- another caller could modify a std::string field
while logging which could read an invalid pointer.  References #2490.
2024-07-21 16:14:22 +09:00
Andrew Gaul
1c2f61e2a5
Remove unneeded lock utility functions (#2500)
std::mutex RAII removes the need for these.

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-07-15 15:32:39 +09:00
Andrew Gaul
23efccbe39
Disable thread safety analysis on conditional locks (#2498)
Clang does not support this:

https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#conditional-locks

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-07-15 15:17:47 +09:00
Andrew Gaul
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
Andrew Gaul
60b871e0ae
Simplify has_mp_stat (#2499)
This is unnecessary since we moved from pthread_mutex_t to
std::atomic.
2024-07-15 15:04:28 +09:00
Andrew Gaul
03651a30ea
Add infrastructure for clang static lock checking (#2492)
Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-07-13 09:48:43 +09:00
Andrew Gaul
6f90c6918f
Fix incorrect locking annotations (#2494)
Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-07-11 23:13:44 +09:00
Andrew Gaul
437bf7ec95
Convert pthread_t to C++11 std::thread (#2481)
This has better cross-platform support and stronger type-safety.
2024-07-11 22:37:25 +09:00
Andrew Gaul
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
Andrew Gaul
ae28a110ab
Remove unused function (#2484)
Also clean up some function prototypes.

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2024-07-01 23:30:32 +09:00
Takeshi Nakatani
1a50b9a04a Fixed a deadlock in the FdManager::ChangeEntityToTempPath method call 2024-06-30 20:29:01 +05:30
Andrew Gaul
585f137cf0
Remove unused headers found by clang-tidy (#2480)
Found via misc-include-cleaner but this requires more work.
2024-06-25 23:32:46 +09:00
Andrew Gaul
1449905fe5
Make deleted constructors and operators public (#2479)
Deleting them better conveys the intent.
2024-06-24 08:26:24 +09:00
Andrew Gaul
622dc0a815
Convert pthread_mutex to std::mutex (#2476)
This simplifies resource management and improve Windows compatibility.
2024-06-24 00:48:01 +09:00
Andrew Gaul
86b353511a
Replace memset with C++11 value initialization (#2471)
This generates the same code but is safer due to using an implicit
length and allowing member initialization.
2024-06-24 00:24:49 +09:00
Takeshi Nakatani
a3a0ae523f Changed the display format of the Git commit hash in the version display 2024-06-23 16:01:33 +05:30
Viktor Szépe
fa807a56fb
Fix typos (#2473) 2024-06-23 15:33:46 +09:00
Andrew Gaul
254d717a4a
Address clang-tidy 19 warnings (#2474) 2024-06-23 12:21:51 +09:00
Andrew Gaul
86e6bdaf4d
Apply clang-tidy to headers (#2470) 2024-06-23 11:49:59 +09:00
Andrew Gaul
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
Andrew Gaul
683452a9be
Remove unnecessary copy constructors and operator= (#2468) 2024-06-10 23:37:53 +09:00
Andrew Gaul
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
Andrew Gaul
ba7b2ef9f0
Return boolean as bool not int (#2465) 2024-06-04 22:38:30 +09:00
Andrew Gaul
f3946a2310
Keep cache path parameters as std::string (#2464)
While some of these originate as char *, eventually they convert to
std::string in the std::map lookup.
2024-06-04 22:37:48 +09:00
Andrew Gaul
a4f694c345
Pass const std::string by reference (#2461)
This is more idiomatic than by pointer.
2024-05-28 09:17:45 +09:00
Takeshi Nakatani
2c532e8b79 Fixed error reports of failure in cppcheck 2.14.0 2024-05-28 07:29:03 +09:00
LiuBingrun
ccdcccd44c
Fix DeadLock in FdManager::ChangeEntityToTempPath (#2455)
commit e3b50ad introduce smart pointer to manage FdEntity

But in ChangeEntityToTempPath, we should not destroy the entity.

We should move the entry to the temp ky

Signed-off-by: liubingrun <liubr1@chinatelecom.cn>
2024-05-11 11:29:40 +09:00
Sébastien Brochet
dd6815b90f retry request on HTTP 429 error 2024-04-14 12:09:26 +09:00
Takeshi Nakatani
95026804e9 Support SSL client cert and added ssl_client_cert option 2024-04-14 10:21:48 +09:00
Takeshi Nakatani
a5cdd05c25 Added ipresolve option 2024-03-13 22:29:17 +09:00
Andrew Gaul
31676f6201
Convert thpoolman_param to value (#2430)
This simplifies memory management.
2024-03-13 21:27:12 +09:00
Andrew Gaul
c97f7a2a13
Address clang-tidy 18 warnings (#2428) 2024-03-07 01:04:22 +09:00
Andrew Gaul
be54c34ecb
Remove unneeded XML macros (#2427) 2024-03-07 00:45:34 +09:00
Takeshi Nakatani
b97fd470a5 Abort for SSE-KMS encryption type and not SSL/TLS specified 2024-02-23 13:11:56 +09:00
Andrew Gaul
4d7fd60305
Call abort instead of exit in tests (#2416)
This can give useful core dumps.
2024-02-23 12:28:29 +09:00
Takeshi Nakatani
da38dc73ad Gentoo + libxml2-2.12 requires inclusion of parser.h 2024-02-20 08:28:42 +09:00
Takeshi Nakatani
e89adf6633 Fixed a bug that mounting with ksmid specified to fail 2024-02-18 21:18:50 +09:00
Takeshi Nakatani
fa2bcfc60d Fixed a bug in multi head request parameter 2024-02-12 17:37:03 +09:00
Takeshi Nakatani
ed1d431a1f Improved to output error details when bucket check fails 2024-02-12 17:36:47 +09:00
Takeshi Nakatani
67442cf054 Changed the level of messages by the get_base_exp function 2024-02-12 17:35:45 +09:00
Takeshi Nakatani
517574c40c Fixed a bug in fdatasync(fsync) 2024-02-06 14:11:37 +09:00
Jason Carpenter
5e6f21a9ff
fix: ListBucket edge cases (#2399) 2024-02-03 13:24:40 +09:00
Takeshi Nakatani
54aa278df0
Fixed errors reported by cppcheck 2.13.0 (#2400) 2024-01-25 00:46:45 +09:00
Takeshi Nakatani
2f9fb74a42
Corrected list_bucket to search in stat cache during creating new file (#2376) 2024-01-24 22:10:14 +09:00