Commit Graph

2031 Commits

Author SHA1 Message Date
5371cd1468 Update ChangeLog and configure.ac for 1.93 (#2225)
Fixes #2213.
v1.93
2023-07-19 22:31:43 +09:00
7978395083 Use smart pointer to manage pcfstat object
Previously pcfstat points to a raw pointer, and it may be leaked if
function returned before deleting it.

So use smart pointer to automatically release the object.

Note that currently s3fs only uses c++03, so we use auto_ptr here, not
unique_ptr, which requires c++11.

Fixes: 6ca5a24a7f ("Fix two inconsistency issues between stat cache and cache file (#2152)")
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
2023-07-19 20:15:55 +09:00
d0a944fcaa Fixed data race about fuse_fill_dir_t function and data pointer 2023-07-14 22:32:12 +09:00
537384e9b5 Guard filler calls with filled check (#2215)
Follows on to e650d8c55c.
2023-07-13 22:46:19 +09:00
e650d8c55c Explicitly handle CommonPrefixes with nocompat_dir (#2212)
Previously the test missed listing implicit directories and another
test was incorrect.  This fixes a regression from 1.91.
2023-07-13 21:15:34 +09:00
9663215bb4 Fixed data race at OPENSSL_sk_dup/free in libcurl 2023-07-12 22:51:57 +09:00
b2537052ef Fixed data race in threads found thread sanitizer 2023-07-09 20:53:27 +09:00
2e51908bec Check FdEntity::Open() status correctly
FdEntity::Open() returns -errno on error, but FdManager::Open() only
checks if its ret is -1. This may lead to use '-errno' as pseudo fd
in next read or write, which would fail due to '-errno' is not in
fent map.

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
2023-07-05 08:50:12 +09:00
a8edbd8622 fix streamuplod not working (#2204)
fuse_main will do fork to daemonize. if ThreadPool is created before
this, worker thread will not be placed in child process.

Move ThreadPool Init to s3fs_init and destory to s3fs_destory.

Signed-off-by: liubingrun <liubr1@chinatelecom.cn>
2023-07-02 10:56:59 +09:00
06d0852e74 Use JDK 17 for Ubuntu CI (#2200)
Also remove stale 18.04 configuration.
2023-06-26 22:07:04 +09:00
03066ea29a Fix extended attribute support when using FUSE-T (#2201)
* Add support for FUSE-T on macos

Signed-off-by: Alex Fishman <alex@fuse-t.org>
Signed-off-by: alex <alex@alex-NUC10.lan>

* Ignore value pointer when size is zero on setattrx

Signed-off-by: Alex Fishman <alex@fuse-t.org>

---------

Signed-off-by: Alex Fishman <alex@fuse-t.org>
Signed-off-by: alex <alex@alex-NUC10.lan>
2023-06-26 22:05:37 +09:00
e66c9a82a2 Add sanitize_thread to CI (#2199) 2023-06-25 23:13:49 +09:00
e86e6cf24f Add Ubuntu 23.04 and remove 18.04
18.04 is EOL:

https://ubuntu.com/blog/ubuntu-18-04-eol-for-devices

This removes a FUSE 3 blocker.  References #1159.
2023-06-25 22:53:59 +09:00
7e8238abc0 Upgrade to JDK 17 (#2196)
Newer distros package this but some older ones do not.  Also remove
stale Ubuntu 16.04 configuration.
2023-06-25 18:05:38 +09:00
6448c8f1a8 Protect FdEntity::physical_fd with fdent_lock (#2194)
* Protect FdEntity::physical_fd with fdent_lock
Found via ThreadSanitizer.
2023-06-25 16:43:15 +09:00
3b6688253f Address cppcheck 2.10 warnings (#2163)
Disable newer cppcheck until we can diagnose this further.
References #2162.
2023-06-25 16:04:16 +09:00
45e7cd085a Add support for FUSE-T on macos
Signed-off-by: Alex Fishman <alex@fuse-t.org>
Signed-off-by: alex <alex@alex-NUC10.lan>
2023-06-24 22:26:42 +09:00
7c9cf84316 Added several memory checks to CI 2023-06-11 10:23:08 -07:00
580775b47c Removed unnecessary debug output 2023-06-07 20:48:50 -07:00
eab26a1e01 Fixed test setting for macOS 2023-06-07 20:48:34 -07:00
1910856c6c Remove wait and check loop from mk_test_file (#2175)
This appears to be some kind of eventual consistency check.  This
should have no effect given S3Proxy and recent AWS strong consistency.
Also it is likely ineffective given the other test object creation
operations.
2023-06-07 23:24:31 +09:00
4b3e715291 Always return nanoseconds from get_time helpers (#2174)
This makes Linux and macOS more consistent.
2023-05-30 18:52:55 +09:00
6ca5a24a7f Fix two inconsistency issues between stat cache and cache file (#2152)
* Fix inconsistency between stat cache file and cache file

We unlock stat cache file too early in FdEntity::Open(), and would
truncate cache file and update stat cache file, so there's a window that
stat cache doesn't reflect cache file status.

Suggested-by: Takeshi Nakatani <ggtakec@gmail.com>
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>

* Mark pagelist as unloaded if cache file has been truncated

If cache file size doesn't match object size, the cache file might be
corrupted, so invalidate it and save new cache stat file.

Suggested-by: Takeshi Nakatani <ggtakec@gmail.com>
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>

---------

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
2023-05-30 18:39:50 +09:00
0d6b02090e Revert "Update curl.cpp: reduce memory cache use (#2157)" (#2170)
This reverts commit 5b487f651a.
2023-05-27 20:33:43 +09:00
5b487f651a Update curl.cpp: reduce memory cache use (#2157)
flush the file and clean the page cache when filepart download done
2023-05-27 19:15:47 +09:00
e7a364d610 Specify _FORTIFY_SOURCE=3 (#2168)
This can find more kinds of buffer overflows:

https://developers.redhat.com/articles/2022/09/17/gccs-new-fortification-level
2023-05-27 17:20:29 +09:00
161be3ff33 Update ChangeLog and configure.ac for 1.92 (#2166) v1.92 2023-05-22 08:25:50 +09:00
1fc0e52dc3 Fixed mount point stat flag to be thread safe 2023-05-21 13:46:06 +09:00
7bf4ca1837 Add Fedora 38 and remove 36 from CI (#2160) 2023-05-14 13:41:12 +09:00
59c3b26655 Fix clang-tidy 16 nits (#2158) 2023-05-14 01:59:26 +09:00
8296fe32cb Directly and simplify requests in mount point checks (#2155) 2023-05-14 01:29:24 +09:00
4a15699669 Disabled to run github action for macos (#2154) 2023-05-08 20:29:20 +09:00
24b990d899 Disabled to run github action for macos (#2154) 2023-05-08 20:28:41 +09:00
ca9a257eec Allow mount points without directory objects by compat_dir (#2153) 2023-05-07 09:15:27 +09:00
6d4bb59865 Corresponded to upload in case of calling release without flush (#2150) 2023-04-23 22:59:04 +09:00
9b75abfbe6 New option: bucket_size (#2148)
* Added bucket_size option
2023-04-23 14:04:38 +09:00
c4f95f14cb Fixed a bug about attributes of mount point (#2147) 2023-04-15 14:34:39 +09:00
9c74014443 Fixed a bug in handling file names containing CR(0x1D) (#2136) 2023-03-26 13:19:16 +09:00
a25cb9e07a Fixed a bug when reading a reduced file without flushing (#2133) 2023-03-26 11:45:21 +09:00
2cd7c94653 Fixed configure.ac by autoupdate (#2134) 2023-03-21 15:10:55 +09:00
9648eba5bb Changed to rename cache files when renaming large files (#2135) 2023-03-21 14:15:34 +09:00
18495c44aa Added cache clearing on upload error (#2127) 2023-03-13 21:22:13 +09:00
4f22354aae Fix an error to calculate no data page bytes (#2122)
Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2023-03-11 17:23:56 +09:00
9d00b8d4a8 Fixed segmentation fault caused by file write failure (#2123) 2023-03-11 16:45:56 +09:00
aeacd0a7d3 Updated README.md(feat #2109) (#2115) 2023-03-05 15:03:48 +09:00
526700f2de Updated files for support ALPINE v3.17 (#2116) 2023-03-05 13:30:59 +09:00
a25a9450a6 Fixed to fail when the mount point directory is not existed (#2114) 2023-03-05 13:03:48 +09:00
f8a825e9b9 multipart upload id is converted by url encode (#2097) 2023-02-18 11:40:25 +09:00
dbddd762a9 Fixed token update process using ext-cred library (#2101) 2023-02-18 09:49:05 +09:00
e715b77307 Added the function to update mtime/ctime of the parent directory (#2016) 2023-02-12 17:59:40 +09:00