Commit Graph

592 Commits

Author SHA1 Message Date
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
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
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
3ff93d7342 Simplify bucket_block_count initialization (#2571) 2024-10-25 08:37:48 +09:00
fe0a62118d Remove some unused parameters (#2565) 2024-10-22 20:34:22 +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
473f9df65a FreeBSD compilation fixes
Closes #2517.
2024-10-16 13:46:12 -07:00
06a3822965 [Improvement #2490] Add GUARDED_BY to FdEntity and fix locking 2024-10-15 02:04:46 +09:00
4605cc2035 Fixed fake_diskfree option 2024-10-07 01:24:35 +09:00
a259981f16 Enable cppcoreguidelines-pro-type-const-cast (#2537)
This fixes dangerous uses of const_cast.
2024-10-06 18:40:48 +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
52c10cd45d Call Rename outside AutoFdEntity scope (#2528)
This avoids a use-after-free in the destructor.
2024-09-28 15:25:02 +09:00
fcb5aa77fb Fix minor issues when compiling with MSYS (#2505)
References #2503.
2024-07-27 09:43:16 +09:00
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
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
622dc0a815 Convert pthread_mutex to std::mutex (#2476)
This simplifies resource management and improve Windows compatibility.
2024-06-24 00:48:01 +09:00
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
a3a0ae523f Changed the display format of the Git commit hash in the version display 2024-06-23 16:01:33 +05:30
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
86e6bdaf4d Apply clang-tidy to headers (#2470) 2024-06-23 11:49:59 +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
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
a4f694c345 Pass const std::string by reference (#2461)
This is more idiomatic than by pointer.
2024-05-28 09:17:45 +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
be54c34ecb Remove unneeded XML macros (#2427) 2024-03-07 00:45:34 +09:00
e89adf6633 Fixed a bug that mounting with ksmid specified to fail 2024-02-18 21:18:50 +09:00
fa2bcfc60d Fixed a bug in multi head request parameter 2024-02-12 17:37:03 +09:00
ed1d431a1f Improved to output error details when bucket check fails 2024-02-12 17:36:47 +09:00
517574c40c Fixed a bug in fdatasync(fsync) 2024-02-06 14:11:37 +09:00
5e6f21a9ff fix: ListBucket edge cases (#2399) 2024-02-03 13:24:40 +09:00
54aa278df0 Fixed errors reported by cppcheck 2.13.0 (#2400) 2024-01-25 00:46:45 +09:00
2f9fb74a42 Corrected list_bucket to search in stat cache during creating new file (#2376) 2024-01-24 22:10:14 +09:00
b139507ae6 Simplify locking with C++11 atomics (#2382) 2023-11-27 01:12:49 +09:00
68bbfee8ea Address clang-tidy modernize-deprecated-headers (#2370) 2023-11-19 10:00:16 +09:00
ec8caf64b8 Reverted the macos CI process(using macos-fuse-t) 2023-11-17 21:08:34 +09:00
bcacca6599 s3fs: make dir size not zero
Directory has size 0, which looks weired and may confuse users. So fake
dir size as 4k.

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
2023-11-17 17:55:57 +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
e2ac9b45e8 Re-improved updating of temporary stat cache when new file 2023-11-11 07:45:32 +09:00
34c379babb Improved updating of temporary stat cache while creating a file 2023-11-10 10:23:15 +09:00
7b5111c955 Suppress some message levels on macos 2023-11-09 14:16:43 +09:00
3856637cd2 s3fs: add option free_space_ratio to control cache size (#2351)
* Try to cleanup cache directory when initing without enough disk space

Also optimize log messages to print detailed errors to the user.

Signed-off-by: Qinqi Qu <quqinqi@linux.alibaba.com>

* s3fs: add option free_space_ratio to control cache size

Since the ensure_diskfree option is not convenient enough, we have added
a new option "-o free_space_ratio" to control the space used by the s3fs
cache based on the current disk size.

The value of this option can be between 0 and 100. It will control the
size of the cache according to this ratio to ensure that the idle ratio
of the disk is greater than this value.

For example, when the value is 10 and the disk space is 50GB, it will
ensure that the disk will reserve at least 50GB * 10% = 5GB of remaining
space.

Signed-off-by: Qinqi Qu <quqinqi@linux.alibaba.com>

---------

Signed-off-by: Qinqi Qu <quqinqi@linux.alibaba.com>
2023-10-20 18:11:47 +09:00