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
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
2c43b1e12b
Store and retrieve file change time
...
This introduces a new header with the change time; existing objects
will report modification time. Fixes #771 .
2019-01-14 10:05:11 -08:00
a2f8ac535e
Address cppcheck 1.86 errors
...
Lifetime, shadowing, and unused variables. Found via the Travis macOS
builder.
2018-12-20 14:56:31 -08:00
f71a28f9b9
Merge pull request #714 from orozery/reduce_lock_contention
...
reduce lock contention on file open
2018-03-04 13:36:08 +09:00
8b657eee41
add disk space reservation
2018-02-28 19:20:23 +02:00
c494e54320
Fixed cppcheck error on osx
2018-02-28 12:06:06 +00:00
0edf056e95
reduce lock contention on file open
2018-02-04 17:13:58 +02:00
6b58220009
Merge pull request #697 from pwulff/master
...
Fixing race condition in FdEntity::GetStats
2017-12-17 15:46:48 +09:00
ee6abea956
Race condition in FdManager::Rename because no mutex is used.
2017-12-15 15:27:51 +01:00
cea7d44717
Fixing race condition in FdEntity::GetStats
2017-12-13 10:49:00 +01:00
0da87e75fe
fix condition for parallel download
2017-12-04 16:07:33 +02:00
026260e7a1
Improved use of temporary files
2017-11-23 09:18:11 +00:00
0418e53b3c
Reduce use of preprocessor
...
This provides type-safety and avoids token expansion side effects.
2017-11-18 22:40:06 -08:00
40501a7a73
Lock FdEntity when mutating orgmeta
...
References #654 .
2017-10-23 22:41:42 -07:00
20da0e4dd3
Fix intermittent upload failures on macOS
...
There were multiple problems with the FdManager::GetFreeDiskSpace() function
on macOS:
1) When calling statvfs(), f_frsize should be used instead of f_bsize when
converting available blocks to bytes. This was causing the free space
calculation to be incorrect.
2) On macOS, fsblkcnt_t is a 32-bit integer. Thus, when calculating available
disk space, there were frequently overflows. This caused s3fs to incorrectly
determine that the cache location was out of space in the middle of a transfer
which caused uploads to fail. Changing this to a uint64_t resolves the
problem.
2017-09-08 15:23:10 -04:00
9d10a5aa70
Changed copyright year format for debian pkg
2017-05-07 11:24:17 +00:00
28efff5986
Merge pull request #554 from orozery/cache_cleanup
...
cleanup cache directory when running out of disk space
2017-04-16 19:13:11 +09:00
fef3fbc225
Added check_cache_dir_exist option(refixed #347 ) - #538
2017-04-02 08:10:16 +00:00
95578cad43
cleanup cache directory when running out of disk space
2017-04-02 10:22:12 +03:00
7b307601b5
Merge pull request #511 from s3fs-fuse/issue#435
...
Fixed a bug about uploading NULL to some part of the file contents
2016-12-04 17:20:50 +09:00
d375bca0d0
Correct typos
2016-11-19 15:57:41 -08:00
81e209bdd1
Fixed issue#435 codes
2016-11-19 20:09:35 +00:00
a688df813e
Fixed a bug at read symlink
2016-10-11 13:32:08 +00:00
716baada22
Testing patch codes for issue#435
2016-10-10 12:16:09 +00:00
e8a8019a71
Add mirror file logic for removing cache file
2016-07-03 03:37:08 +00:00
95cb5d201f
Correct search and replace typo
2016-06-13 10:25:33 -07:00
090c37a1c1
Fixed writing sparsed file - #375,#379,#394
2016-04-12 18:24:36 +00:00