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
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
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
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
Takeshi Nakatani
92fd5bc3e1
Fixed errors reported by cppcheck 2.8 ( #1949 )
2022-05-26 01:48:53 +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
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
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
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
Takeshi Nakatani
1678803566
Added S3fsCred class and moved Credential related processing in it
2022-02-13 21:38:30 +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
Andrew Gaul
0c75a63184
Preserve sub-second precision with utimens ( #1880 )
...
Found via pjdfstest. References #1589 .
2022-01-30 21:45:51 +09:00
Andrew Gaul
cd5a69b9eb
Handle UTIME_NOW and UTIME_OMIT special values ( #1868 )
...
FUSE 3 will require this behavior. References #1159 .
2022-01-29 11:35:37 +09:00
Naoki Ikeguchi
41aaa4184f
Avoid double setting values in statfs
2022-01-23 21:49:51 +09:00
Naoki Ikeguchi
19303a546e
Fix the statfs issue, using f_frsize instead
2022-01-23 21:49:51 +09:00
Naoki Ikeguchi
6370e150dd
Disable features that causes problems on Windows
2022-01-23 21:49:51 +09:00
Andrew Gaul
e734763002
Remove createbucket option ( #1841 )
...
AWS CLI can do this. Fixes #1840 .
2022-01-05 01:59:31 +09:00
Andrew Gaul
3cf00626a2
Add option to allow unsigned payloads ( #1801 )
...
This reduces CPU usage of sigv4. This reduces test run-time by 7
seconds per flag.
2021-11-01 23:33:55 +09:00
Takeshi Nakatani
78126aea0b
Added exclusive control of statc variables in s3fs xml parser
2021-10-27 08:18:19 +09:00
Andrew Gaul
48817d849f
Require explicit length in s3fs_decode64 ( #1755 )
...
This is available from std::string::size in callers.
2021-08-31 09:22:10 +09:00
Andrew Gaul
18e9c62087
Make string constants read-only const ( #1733 )
...
This removes some global constructors. Also use a consistent ALL_CAPS
style.
2021-08-03 00:10:27 +09:00
Takeshi Nakatani
34f89e5936
Added fake_diskfree option to deceive free disk space for test
2021-08-02 11:04:42 +09:00
Carsten Grohmann
e1f3b9d8c1
Add support for AWS-style environment variables ( #1729 )
...
Support AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN
in addition to the AWSACCESSKEYID, AWSSECRETACCESSKEY and
AWSSESSIONTOKEN.
The old environment variables are still supported, but they are
deprecated and no longer documented.
Close #1708
2021-07-26 23:29:45 +09:00
Martynov Maxim
881025cc9e
Add initiator pid, uid and gid to a debug log ( #1716 )
2021-07-10 16:23:20 +09:00
Andrew Gaul
fe44355d25
Report s3fs space as 18.4 EB ( #1709 )
...
256 TB probably seemed large in 2007 but in 2021 it is small enough to
confuse some users.
2021-07-02 07:56:05 +09:00
Andrew Gaul
f505c8224e
Explicitly specify lock type ( #1701 )
...
This makes it more clear and type-safe if the caller already has the
lock. Follows on to 84174c560d
.
2021-06-27 15:15:48 +09:00
Andrew Gaul
2154e898bc
Fix typos ( #1700 )
2021-06-27 11:22:33 +09:00
Takeshi Nakatani
f9e80f995d
Fixed a bug about rename existing file of different sizes by mpcopy
2021-06-26 00:04:58 +09:00
Takeshi Nakatani
6edf3d6427
Updated to clearly output message about the file descriptor type(pseudo/physical)
2021-06-25 19:18:08 +09:00
Carsten Grohmann
c4ac923b4c
Ensure NUL-terminated result after strncpy ( #1694 )
...
Long symlinks may cause that the result buffer is filled and not proper
terminated with a null byte.
2021-06-21 08:08:56 +09:00
Takeshi Nakatani
cc022a68f4
Fixed a bug in s3fs_write
2021-06-20 23:13:44 +09:00
Takeshi Nakatani
858562ed53
Fixed comparison warning for size_t variable
2021-06-20 16:53:25 +09:00
Andrew Gaul
b8724425d3
Require explicit base parameter in cvt_strtoofft ( #1683 )
...
Also convert most callers of cvt_strtoofft to base 10 which avoid the
magical behavior of interpreting a leading 0 as octal.
References #1682 .
2021-06-20 11:00:15 +09:00
Carsten Grohmann
d67b83e671
Allow configuration for temporary files directory
2021-06-16 21:29:58 +09:00
Andrew Gaul
a100be9dce
Prefer std::string::empty over length == 0 ( #1679 )
...
This is more concise.
2021-06-13 20:03:10 +09:00
Andrew Gaul
7638b5b3e3
Prefer std::string::rbegin over operator[] ( #1673 )
...
This is more concise and safer due to not repeating the variable name.
We cannot use std::string::back since it is not available in C++03.
2021-06-13 13:26:38 +09:00
Andrew Gaul
600cee118d
Fix implicit narrowing conversions ( #1672 )
...
These do not appear to be problematic but rather just clean up warnings.
Found via clang -Wshorten-64-to-32.
2021-06-13 12:50:07 +09:00
Takeshi Nakatani
c2c56d0263
Added info object about multipart uploading for each pseudo fd
...
(and fixed typo about method name)
2021-06-04 22:42:58 +09:00
Takeshi Nakatani
ac578d188e
Introduced pseudo fd and separated fd for each file opening
2021-06-04 22:42:58 +09:00
Andrew Gaul
84174c560d
Fix data races caused by incorrect locking ( #1668 )
...
Found via Threadsanitizer. Fixes #1471 .
2021-05-29 00:11:55 +09:00
Andrew Gaul
bbcccd6e98
Make storage class a string ( #1663 )
...
This allows non-standard storage classes like Google Cloud Storage
Nearline. Fixes #1613 .
2021-05-21 23:34:31 +09:00
Takeshi Nakatani
b5fef788da
Additional bug fixing for not creating zero-byte object
2021-05-09 17:33:53 +09:00
Andrew Gaul
9abe3fa662
Use same time when creating directory objects ( #1652 )
...
This avoids mismatched times and is slightly faster.
2021-05-09 13:44:12 +09:00