48a872e285
Address cppcheck 1.90 warning
2020-04-12 22:20:44 +09:00
018ccb9a11
Suppressed a lot of message output about cache cleanup
2020-01-30 14:42:28 +00:00
b762a0a85b
fix deadlock due to fdmanager_lock and fdent_data_lock
2020-01-29 12:03:53 +08:00
e0712f444d
Update source for clang-tidy 9.0.0
2020-01-13 20:56:45 +09:00
cf3e82d10a
Fixed a rename bug when enable_noobj_cache
2019-10-23 12:39:42 +00:00
1db94a0b30
Fixed to use copy api in multipart upload
2019-09-25 19:30:58 -07:00
f5bf41cf11
Fixed simple copy with nocpoyapi and modify flag in fdcache
2019-08-11 07:42:48 +00:00
3d70e8966f
Merge pull request #1108 from gaul/lock/diskspace
...
Always hold lock when accessing free_disk_space
2019-08-03 22:01:31 +09:00
5b15c7c4e9
Always hold lock when accessing free_disk_space
...
Slightly reorder locks to avoid double locking. Found via
ThreadSanitizer.
2019-07-30 08:36:54 -07:00
afd438d363
Access FdEntity metadata while holding fdent_lock
...
Create copies to avoid thread races. Found via ThreadSanitizer.
Follows on to ecf13a8cb9 .
2019-07-29 13:54:57 -07:00
bacd15714a
Use consistent default for readwrite_timeout
...
Previously curl threads mutated this shared state without a lock.
Found via ThreadSanitizer.
2019-07-16 22:03:56 -07:00
513f41fddf
Merge pull request #1097 from ggtakec/fix_lock
...
Add Lock() func parameter in RowFlush()
2019-07-15 11:56:21 +09:00
543aed2a32
Merge pull request #1096 from gaul/pthread/lock-checking
...
Expand error checking to all pthread_mutex_t
2019-07-15 11:43:56 +09:00
f78bcc5229
Add Lock() func parameter in RowFlush()
2019-07-15 01:52:29 +00:00
43ec064fb9
Expand error checking to all pthread_mutex_t
2019-07-14 18:21:23 -07:00
ffac4c8417
Avoid narrowing time_t and off_t args in logging
...
This displays correct results on 32-bit platforms.
2019-07-14 17:02:36 -07:00
850a813171
Merge pull request #1092 from liuyongqing/master
...
fix coredump caused by fd_manager_lock locking
2019-07-15 04:53:10 +09:00
d39e4e4b1f
Merge pull request #1087 from gaul/clang-tidy/deprecated-headers
...
Prefer modern C headers
2019-07-15 03:50:15 +09:00
1eb266588e
Add a missing lock to SetCtime
...
Also lock before log statements which touch member variables.
2019-07-13 17:53:38 -07:00
4e351c59e3
fix coredump caused by fd_manager_lock locking
2019-07-13 12:03:27 +08:00
6fd42d9fe4
Prefer modern C headers
...
Found and fixed via clang-tidy.
2019-07-12 03:50:59 -07:00
a83d5baa90
Remove recursive locking
...
Recursive locking is frowned upon and is incompatible with
PTHREAD_MUTEX_ERRORCHECK. Also clean up pthread_mutex_lock error
checking.
2019-07-10 12:39:00 -07:00
50d13255e4
Merge pull request #1081 from gaul/write-blocks-readdir
...
Break FdEntity locks into data and metadata
2019-07-11 03:40:26 +09:00
d267212289
Merge pull request #1079 from gaul/cppcheck/shadowing
...
Avoid shadowing variable in FdEntity::Open
2019-07-07 16:29:42 +09:00
ecf13a8cb9
Break FdEntity locks into data and metadata
...
Previously long-running data operations like RowFlush would block
metadata operations like GetStats and thus user readdir. Fixes #928 .
2019-07-05 23:12:24 -07:00
49110c671d
Avoid shadowing variable in FdEntity::Open
...
Found via cppcheck 1.88.
2019-07-05 15:06:18 -07:00
febaf6849f
Issue multipart when object size exceeds part size
...
Previously s3fs issued multipart uploads when the object size was
twice the part size. Conjoining this with the part size was confusing
and s3fs should add a separate tunable for this if needed, similar to
singlepart_copy_limit. Fixes #1058 .
2019-07-05 12:14:56 -07:00
455e29cbea
Make fdpage a value type in fdpage_list_t
...
This simplifies memory management.
2019-07-01 09:30:48 -07:00
d7f77a6282
Fix casting warning on 32-bit
2019-06-29 20:57:42 -07:00
a78d8d1da4
Merge pull request #1049 from gaul/external-modication
...
Remove cache file when object time differs
2019-06-24 00:51:54 +09:00
9e5eaad79b
Remove cache file when object time differs
...
Check the modification times to determine whether an object has
updated. This relies on low clock skew between s3fs and the S3
server; a more robust approach could use the ETag. Fixes #1047 .
2019-06-22 19:09:00 -07:00
15b7450713
Convert file offsets from size_t to off_t
...
The latter is 64-bits on 32-bit platforms when specifying
-D_FILE_OFFSET_BITS=64. This allows early Raspberry Pis to use files
larger than 2 GB. It also cleans up some ugly casting. Fixes #620 .
Fixes #656 .
2019-06-15 17:05:37 -07:00
059ab1f0f4
Update ctime during nocopyapi operations
...
Follows on to 2c43b1e12b . Fixes #971 .
2019-04-30 18:59:51 +09:00
6f6a67807b
Prefer new over malloc
...
The former cannot return NULL and will allow use of scoped pointers.
2019-04-07 16:54:24 +09:00
62dcda6a56
Fixed ref-count when error occurred.
2019-03-10 06:04:19 +00:00
f53503438c
Increase FdEntity reference count when returning
...
Previously s3fs had a race condition where one client could delete
FdEntity that another client was using. Add a simple concurrent test
which previously failed but now succeeds. Fixes #964 .
2019-03-09 15:55:04 +09:00
e87e40b3b4
Address miscellaneous clang-tidy warnings
...
Also add configuration with suppressions.
2019-02-04 22:58:40 -08:00
fb6debd986
Merge pull request #948 from gaul/too-many-parts
...
Add logging for too many parts
2019-02-03 14:55:54 +09:00
c603680e02
Merge pull request #939 from gaul/stringstream-specific
...
Prefer specific [io]stringstream where possible
2019-02-03 11:06:57 +09:00
dfa84b82a8
Add logging for too many parts
...
References #610 .
2019-02-01 19:34:26 -08:00
07636c8a8d
Prefer specific [io]stringstream where possible
...
These better communicate intent and are slightly more efficient.
2019-01-29 10:44:33 -08:00
35d55ee513
Remove unneeded void parameter
...
This is implicit in C++. Found and fixed via clang-tidy.
2019-01-28 23:22:27 -08:00
c0cf90cf8b
Checked and corrected all typo
2019-01-27 12:04:29 +00:00
3b1cc3b197
Merge pull request #933 from gaul/cache/remove-mirror-path
...
Remove mirror path when deleting cache
2019-01-27 16:15:49 +09:00
a93e500b44
Remove mirror path when deleting cache
...
Fixes #827 .
2019-01-25 18:10:03 -08:00
84b421d6ef
Prefer empty over size checks
...
Found and fixed via clang-tidy.
2019-01-23 11:30:28 -08:00
010276ceab
Merge pull request #921 from gaul/clang-tidy/redundant-string-init
...
Remove redundant string initializations
2019-01-23 19:44:59 +09:00
1fc25e8c3f
Remove redundant string initializations
...
Found and fixed via clang-tidy.
2019-01-22 23:16:37 -08:00
5f5da4b2cb
Load tail range during overwrite
...
Previously s3fs experienced data loss when writing to the middle of a
file. Corrupt files would have the expected data from 0..offset+size
but unexpected NUL bytes from offset+size..EOF. References #808 .
2019-01-22 22:02:40 -08:00
40ba3b44a1
Prefer abort over assert(false)
...
The compiler can remove the latter when compiled with NDEBUG which may
cause unintended control flow.
2019-01-20 12:30:27 -08:00