Commit Graph

2178 Commits

Author SHA1 Message Date
Takeshi Nakatani
34c379babb Improved updating of temporary stat cache while creating a file 2023-11-10 10:23:15 +09:00
Takeshi Nakatani
7b5111c955 Suppress some message levels on macos 2023-11-09 14:16:43 +09:00
Andrew Gaul
a3964b3fcd
Upgrade CI to Ubuntu 23.10 (#2355) 2023-10-22 22:18:29 +09:00
AdamQQQ
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
Jan Stastny
2871975d1e Set SSE headers when checking bucket 2023-10-18 21:45:47 +09:00
Andrew Gaul
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
Takeshi Nakatani
5e5b4f0a49 Fixed ETag parsing at completing the Multipart upload part 2023-10-13 11:13:52 +09:00
Andrew Gaul
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
Takeshi Nakatani
2e4a6928c3 Changed argument name in ParallelMultipartUploadAll 2023-10-09 13:17:25 +09:00
Qinqi Qu
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
Takeshi Nakatani
d0c4b5c763 Fixed a bug in exclusive control of pagelist in FdEntity class 2023-09-26 21:26:17 +09:00
Andrew Gaul
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
Andrew Gaul
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
Andrew Gaul
87b8bafaea
Address unknown pragma warning with GCC (#2324) 2023-09-26 01:16:14 +09:00
Andrew Gaul
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
Andrew Gaul
1ebefca029
Reorder $CXXFLAGS to the end (#2322)
This allows overriding flags like -std=c++11.
2023-09-26 00:05:54 +09:00
Andrew Gaul
ffff26e165
Add stat helper for user and group (#2320) 2023-09-26 00:04:24 +09:00
Andrew Gaul
61df7bf42c
Use std::unique_ptr for fclose (#2318)
References #2261.
2023-09-25 23:55:11 +09:00
Andrew Gaul
c5fb42ff10
Use std::unique_ptr in libxml functions (#2317)
References #2261.
2023-09-25 23:46:52 +09:00
Takeshi Nakatani
cbc33cd7ae Fixed a bug upload boundary calculation in StreamUpload 2023-09-25 09:28:37 +09:00
Takeshi Nakatani
645c10a3c3 Fixed test_not_existed_dir_obj test condition 2023-09-25 08:16:32 +09:00
Takeshi Nakatani
54293a66b3 Simplify the determination of the --cached option of the stat 2023-09-25 08:08:58 +09:00
Takeshi Nakatani
01b3caa38c Fixed errors of cppcheck 2.12.0 2023-09-24 19:55:02 +09:00
Andrew Gaul
64642e1d1b
Do not cache stat attributes (#2319)
This is a workaround for CI failures.
2023-09-24 18:32:07 +09:00
Iain Samuel McLean Elder
546cdd0d91 Improve docs on environment variables 2023-09-21 12:40:46 +09:00
Andrew Gaul
a83f4a48d0
Add extra logging to debug test (#2316) 2023-09-15 21:50:01 +09:00
Andrew Gaul
99d3e68d59
Revert ls change (#2315)
echo does not split the words on newlines.
2023-09-15 21:48:04 +09:00
Andrew Gaul
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
Andrew Gaul
f493cb5846
Remove unnecessary uses of ls (#2311)
Other call sites need the call to readdir/getdents64.
2023-09-13 22:27:12 +09:00
Andrew Gaul
e9814b4a4d Add Debian bookworm to CI 2023-09-11 00:59:23 +09:00
Andrew Gaul
3b12aaf2ab
Do not escape percent (#2310)
This addresses warnings of the form:

grep: warning: stray \ before %
2023-09-10 12:51:36 +09:00
Andrew Gaul
7e20278489
Address some Shellcheck SC2012 warnings (#2306) 2023-09-10 12:50:18 +09:00
Andrew Gaul
3d73d5a687
Delete unneeded constructors and assignment operators (#2309) 2023-09-06 23:52:10 +09:00
Andrew Gaul
fa3a472c6b
Remove several calls to free (#2308) 2023-09-06 23:50:33 +09:00
Andrew Gaul
5f38301861
Emit unexpected file names in failed test_list (#2307) 2023-09-06 23:47:12 +09:00
Andrew Gaul
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
Takeshi Nakatani
a74034a012 Fixed a bug with setting the statvfs value 2023-09-05 09:03:11 -07:00
Andrew Gaul
3f64c72c24
Explicitly grep for ps args (#2301) 2023-09-03 22:03:45 +09:00
AdamQQQ
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
Andrew Gaul
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
Andrew Gaul
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
Andrew Gaul
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
Andrew Gaul
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
Eryu Guan
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
Andrew Gaul
48548f0896
Remove unused functions (#2289) 2023-08-22 23:17:43 +09:00
Andrew Gaul
981e97ee76
Use default move constructor (#2288)
This is identical to the explicit one.
2023-08-22 23:14:09 +09:00
Andrew Gaul
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
Takeshi Nakatani
218adcb29b
Fixed errors in cache.cpp from cppcheck 2.11.1 (#2286) 2023-08-20 19:00:20 +09:00
Andrew Gaul
6c55bcfdd8
Own values in add_header (#2285)
Also fix up indentation.
2023-08-20 18:59:18 +09:00
Andrew Gaul
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