Takeshi Nakatani
f6d7ff1084
Strictly reviewed the exclusive control of PseudoFdInfo class
2022-08-07 20:41:35 +09:00
Andrew Gaul
3e242d0bad
Avoid C-style casts ( #2015 )
...
Prefer more precise C++-style casts.
2022-07-30 22:35:27 +09:00
Takeshi Nakatani
c491fbeabc
Replace uses of lock_already_held flag with AutoLock::Type
2022-07-30 16:20:43 +09:00
Takeshi Nakatani
e654e8ec8a
Removed const_cast in set_bucket
2022-07-30 16:18:52 +09:00
Andrew Gaul
48e9e51f4f
Remove more unneeded headers identified by IWYU ( #2011 )
2022-07-30 12:06:47 +09:00
Takeshi Nakatani
5a2172dc56
Fixed data race and memory leaks in PseudoFdInfo
2022-07-30 06:51:16 +09:00
Andrew Gaul
07535ec3ec
Address clang-tidy warnings ( #2010 )
2022-07-29 22:00:07 +09:00
Takeshi Nakatani
b8dd466988
Fixed data race in ThreadPoolMan
2022-07-29 13:24:09 +09:00
Andrew Gaul
01a92476e6
Remove unneeded headers identified by IWYU ( #2007 )
2022-07-28 23:38:38 +09:00
Andrew Gaul
3928a7e359
Remove more uses of const_cast ( #2006 )
...
Follows on to #2004 .
2022-07-28 23:37:15 +09:00
Andrew Gaul
f9f614a474
Avoid mutating mybasename and mydirname parameters ( #2004 )
...
basename and dirname mutate their inputs but const_cast hid this
behavior. Also shuffle helpers to avoid unnecessary std::string.
Follows on to 404c284440
.
2022-07-28 23:34:01 +09:00
Takeshi Nakatani
e30a5939d0
Fixed deadlock in S3fsCurl::DestroyCurlHandle
2022-07-28 13:47:27 +09:00
Takeshi Nakatani
4b2f3fecb5
Set mtime/ctime/atime of all objects as nanosecond
2022-07-28 13:47:03 +09:00
Takeshi Nakatani
ccfc119e45
Improved to avoid unnecessary head request
2022-07-27 21:51:28 +09:00
Andrew Gaul
38b5018bab
Remove unneedd binary_function inheritance ( #1998 )
...
GCC 12 warns that C++17 removes this.
2022-07-24 22:41:58 +09:00
Takeshi Nakatani
404c284440
Fixed race condition in dirname and basename call
2022-07-24 18:14:58 +09:00
Andrew Gaul
e0655008b3
Protect pending_status in UploadPending ( #1992 )
...
This requires avoiding double-locking in RowFlush. References #1991 .
2022-07-22 23:30:04 +09:00
Takeshi Nakatani
22f2392fca
Fixed bugs about stream upload
2022-07-19 21:29:56 +09:00
Takeshi Nakatani
faddb4900f
Merged the code corresponding to the mknod fix( f11eb7d
)
2022-07-17 22:20:45 +09:00
Takeshi Nakatani
6ca7d5ec27
Fixed an error which reported by cppcheck 2.8
2022-07-17 22:20:45 +09:00
Takeshi Nakatani
6f679a9e78
Reflect the result of the review in the code again
2022-07-17 22:20:45 +09:00
Takeshi Nakatani
b0eeaa6679
Reflected the result of the review in the code
2022-07-17 22:20:45 +09:00
Takeshi Nakatani
d22e1dc018
Add the stream upload which starts uploading parts before Flush
2022-07-17 22:20:45 +09:00
Andrew Gaul
4e163b2888
Allow listing implicit directories ( #1986 )
...
This fixes an issue when using -o notsup_compat_dir flag, dating back
to its introduction 3ac39d61f8
. The new
default exposed this in my local testing but a test runner bug masked
a test failure in test_external_directory_creation. References #927 .
References #1984 .
2022-07-17 01:54:29 +09:00
Andrew Gaul
e7ed01b35f
Consume return code from get_object_attribute ( #1976 )
...
Found via clang-analyzer.
2022-07-09 16:45:23 +09:00
Takeshi Nakatani
3f55c98a3f
Fixed a bug when the pool of curl handler exceeds the upper limit
2022-07-08 21:14:29 +09:00
Takeshi Nakatani
f11eb7d69b
Fixed a bug that regular files could not be created by mknod
2022-06-29 16:56:19 +09:00
Takeshi Nakatani
73b49c1038
Fixed a bug that regular files could not be created by mknod
2022-06-29 16:56:19 +09:00
Andrew Gaul
8b90cd6ba1
Enable notsup_compat_dir by default ( #1970 )
...
Few applications create the dir_$folder$ objects and users can enable
compat_dir if required. This commit reduces readdir latency by 33%.
Also remove notsup_compat_dir from tests since these directories are
never created. Fixes #927 . References #1643 .
2022-06-28 07:56:06 +09:00
Andrew Gaul
b52f916af6
Avoid extended initializer lists in C++03 ( #1960 )
...
C++11 introduces these.
2022-06-12 23:52:16 +09:00
Takeshi Nakatani
ec7810f08e
Fixed a bug could not change the mode while the file was opened
2022-06-12 13:48:42 +09:00
Andrew Gaul
904682b856
Fix double-iteration in curl_slist_remove ( #1951 )
...
Also backfill tests. Fixes #1948 .
2022-05-27 22:56:20 +09:00
Takeshi Nakatani
92fd5bc3e1
Fixed errors reported by cppcheck 2.8 ( #1949 )
2022-05-26 01:48:53 +09:00
Takeshi Nakatani
d75c6d6538
Changed the message level(ERR to INFO) of skip cleanup cache ( #1946 )
2022-05-22 14:36:56 +09:00
Andrew Gaul
5c57e17b77
Enable noobj_cache by default ( #1922 )
...
This should improve performance in many situations. s3fs already
enables the stat cache by default so memorizing noobj makes this more
consistent. Fixes #1901 .
2022-03-12 16:57:31 +09:00
Andrew Gaul
deaa85c40e
Document glacier_ir storage class ( #1921 )
...
Announcement:
https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-s3-glacier-instant-retrieval-storage-class/
This does not require code changes due to
bbcccd6e98
.
2022-03-12 16:20:38 +09:00
Takeshi Nakatani
d842d45b2b
Fixed a bug about truncation for shrinking file
2022-03-02 22:41:10 +09:00
Takeshi Nakatani
684ced5a41
Changed handling the credential in S3fsCred more robust
2022-03-02 22:39:15 +09:00
Carsten Grohmann
afb0897553
Typos
2022-02-24 19:15:00 +09:00
Andrew Gaul
8a5c4306f5
Preserve sub-second precision where possible ( #1915 )
2022-02-23 23:58:51 +09:00
Andrew Gaul
08adffd2fe
Fix typos ( #1916 )
2022-02-23 23:31:52 +09:00
Andrew Gaul
81ed2bd91e
Propagate deferred exit status from main ( #1912 )
...
Previously s3fs always returned zero when the bucket did not mount.
Fixes #1911 .
2022-02-23 10:09:12 +09:00
Carsten Grohmann
a716c72d37
Update notsup_compat_dir in --help
2022-02-21 19:29:15 +09:00
Takeshi Nakatani
d31cbda7b6
Fixed a bug about checking credential
2022-02-19 23:22:15 +09:00
Takeshi Nakatani
b64dc7749c
Moved parameter analysis processing to S3fsCred class
2022-02-19 17:23:40 +09:00
Takeshi Nakatani
839a33de49
Fixed not to call Flush even if the file size is increased ( #1887 )
...
Changed s3fs_truncate function.
This change reduces the number of file uploads if the file size is changed.
On macOS, I have found that the truncate call when "size=0" cannot reflect the file size.(This reason is not understood...)
To avoid this, only when "size=0", the flush method is called as before.
Other than that, I found a bug in FdEntity::Open() and fixed it.
Fixes #1875 .
2022-02-15 21:29:07 +09:00
Petr Vaněk
4dfe2bfdd7
Include climits to support musl libc
...
PATH_MAX constant is not visible from any of currently included header
files in system with musl libc, where compilation fails with an error
below. The constant is defined in limits.h which is directly include via
climits header file.
fdcache.cpp: In static member function 'static FILE* FdManager::MakeTempFile()':
fdcache.cpp:381:14: error: 'PATH_MAX' was not declared in this scope
381 | char cfn[PATH_MAX];
| ^~~~~~~~
Fixes: d67b83e671
("Allow configuration for temporary files directory")
2022-02-14 09:19:30 +09:00
Takeshi Nakatani
1678803566
Added S3fsCred class and moved Credential related processing in it
2022-02-13 21:38:30 +09:00
Takeshi Nakatani
d7e929e0a8
Fixed some Github Actions errors. ( #1886 )
...
- Fix knownConditionTrueFalse cppcheck(2.7) error on MacOS
- Fixed package installing failure of appstream download on centos8
2022-02-13 14:23:35 +09:00
Andrew Gaul
9224f792f0
Use CLOCK_REALTIME for UTIME_NOW ( #1881 )
...
Previously s3fs_utimens used CLOCK_MONOTONIC_COARSE which was not
1970-based. Found via pjdfstest. References #1589 .
2022-01-30 22:19:15 +09:00