Commit Graph

2126 Commits

Author SHA1 Message Date
a3964b3fcd Upgrade CI to Ubuntu 23.10 (#2355) 2023-10-22 22:18:29 +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
2871975d1e Set SSE headers when checking bucket 2023-10-18 21:45:47 +09:00
d5dd17644d Add a helper script to compile all targets (#2337)
This is useful to compile different SSL libraries and 32-bit targets.
2023-10-15 11:54:52 +09:00
5e5b4f0a49 Fixed ETag parsing at completing the Multipart upload part 2023-10-13 11:13:52 +09:00
e5b15bed7d Pass by value to trim functions (#2345)
These already force a copy so passing by value has the same
performance but is simpler.  But this allows the compiler to perform
copy elision on temporaries and the caller to explicitly std::move in
others.
2023-10-12 22:21:33 +09:00
2e4a6928c3 Changed argument name in ParallelMultipartUploadAll 2023-10-09 13:17:25 +09:00
1aa77f6cda s3fs_cred: print detailed error message when stat file fails
Signed-off-by: Qinqi Qu <quqinqi@linux.alibaba.com>
2023-10-09 13:11:47 +09:00
d0c4b5c763 Fixed a bug in exclusive control of pagelist in FdEntity class 2023-09-26 21:26:17 +09:00
361e10d09c Add scope_guard for ad-hoc resource management (#2313)
References #2261.  Suggested by:
https://stackoverflow.com/questions/10270328/the-simplest-and-neatest-c11-scopeguard
2023-09-26 07:52:55 +09:00
95cfbe30ed Add error checking to test_concurrent_writes (#2299)
This reveals a situation where s3fs triggers an unexpected
EntityTooSmall error.
2023-09-26 07:32:02 +09:00
87b8bafaea Address unknown pragma warning with GCC (#2324) 2023-09-26 01:16:14 +09:00
1a703e623a Remove volatile qualifiers deprecated in C++23 (#2323)
These are protected by upload_list_lock.  Addresses warnings of the
form:

warning: ‘++’ expression of ‘volatile’-qualified type is deprecated
2023-09-26 00:15:05 +09:00
1ebefca029 Reorder $CXXFLAGS to the end (#2322)
This allows overriding flags like -std=c++11.
2023-09-26 00:05:54 +09:00
ffff26e165 Add stat helper for user and group (#2320) 2023-09-26 00:04:24 +09:00
61df7bf42c Use std::unique_ptr for fclose (#2318)
References #2261.
2023-09-25 23:55:11 +09:00
c5fb42ff10 Use std::unique_ptr in libxml functions (#2317)
References #2261.
2023-09-25 23:46:52 +09:00
cbc33cd7ae Fixed a bug upload boundary calculation in StreamUpload 2023-09-25 09:28:37 +09:00
645c10a3c3 Fixed test_not_existed_dir_obj test condition 2023-09-25 08:16:32 +09:00
54293a66b3 Simplify the determination of the --cached option of the stat 2023-09-25 08:08:58 +09:00
01b3caa38c Fixed errors of cppcheck 2.12.0 2023-09-24 19:55:02 +09:00
64642e1d1b Do not cache stat attributes (#2319)
This is a workaround for CI failures.
2023-09-24 18:32:07 +09:00
546cdd0d91 Improve docs on environment variables 2023-09-21 12:40:46 +09:00
a83f4a48d0 Add extra logging to debug test (#2316) 2023-09-15 21:50:01 +09:00
99d3e68d59 Revert ls change (#2315)
echo does not split the words on newlines.
2023-09-15 21:48:04 +09:00
01189e99fc Store mvnode in vector instead of manual linked list (#2312)
This simplifies code and avoids manual memory management.  References #2261.
2023-09-13 22:32:15 +09:00
f493cb5846 Remove unnecessary uses of ls (#2311)
Other call sites need the call to readdir/getdents64.
2023-09-13 22:27:12 +09:00
e9814b4a4d Add Debian bookworm to CI 2023-09-11 00:59:23 +09:00
3b12aaf2ab Do not escape percent (#2310)
This addresses warnings of the form:

grep: warning: stray \ before %
2023-09-10 12:51:36 +09:00
7e20278489 Address some Shellcheck SC2012 warnings (#2306) 2023-09-10 12:50:18 +09:00
3d73d5a687 Delete unneeded constructors and assignment operators (#2309) 2023-09-06 23:52:10 +09:00
fa3a472c6b Remove several calls to free (#2308) 2023-09-06 23:50:33 +09:00
5f38301861 Emit unexpected file names in failed test_list (#2307) 2023-09-06 23:47:12 +09:00
4d5632912a Initialize variable before use (#2302)
clang-analyzer found a path where this could be used without
initialization.
2023-09-06 23:32:49 +09:00
a74034a012 Fixed a bug with setting the statvfs value 2023-09-05 09:03:11 -07:00
3f64c72c24 Explicitly grep for ps args (#2301) 2023-09-03 22:03:45 +09:00
68c45ce791 s3fs: print unmounting hint when the mount point is stale (#2295)
When the error code returned by the stat information of the mount point
is ENOTCONN, print unmount command hint for user to fix.

Signed-off-by: Qinqi Qu <quqinqi@linux.alibaba.com>
2023-09-03 10:50:09 +09:00
e8cb6d6d34 Abort after failed MPU (#2298)
This reclaims storage after a failed MPU which caused OutOfMemory
issues in #2291.
2023-08-29 23:29:16 +09:00
a2f2f72aaf Enable Valgrind in CI (#2297)
Using HTTP instead of HTTPS and
82107f4b6c improve test run-time so that
this is now feasible.
2023-08-29 23:11:26 +09:00
7bb9609827 Return errors from AutoFdEntity::Open (#2296)
Found via pjdfstest which creates a PATH_MAX path that should return
NAMETOOLONG.
2023-08-29 22:57:30 +09:00
82107f4b6c Skip is_uid_include_group when GID available (#2292)
This can avoid an expensive computation which is 20% of test runtime.
2023-08-27 15:24:33 +09:00
ee49ca4abf s3fs: print fuse context in s3fs fuse operations (#2274)
Print fuse context like pid in fuse operations, so we know which process
is triggering this operation.

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
2023-08-27 14:00:57 +09:00
48548f0896 Remove unused functions (#2289) 2023-08-22 23:17:43 +09:00
981e97ee76 Use default move constructor (#2288)
This is identical to the explicit one.
2023-08-22 23:14:09 +09:00
a568aa70fd Replace uses of emplace with operator=(&&) (#2287)
emplace does not overwrite the value if the key already exists.  C++17 has
insert_or_assign but C++11 only has operator= which invokes the default
constructor.  Follows on to 6781ef5bd1.
2023-08-22 23:12:12 +09:00
218adcb29b Fixed errors in cache.cpp from cppcheck 2.11.1 (#2286) 2023-08-20 19:00:20 +09:00
6c55bcfdd8 Own values in add_header (#2285)
Also fix up indentation.
2023-08-20 18:59:18 +09:00
8d04ee3e01 Own values in stat_cache and symlink_cache (#2284)
This removes an unnecessary use of unique_ptr.
2023-08-20 12:10:47 +09:00
6781ef5bd1 Reverted to direct array access instead of std::map emplace 2023-08-20 09:44:38 +09:00
7e94b64ae7 Use unique_ptr in SSL functions (#2282)
References #2261.
2023-08-19 23:29:00 +09:00