Subsequent commits will use this infrastructure. Also reparent
prepare_url which relies on unrelated bucket, foreground2, and
pathrequeststyle symbols.
1) Fixed bugs
* Rename objects
Fixes s3fs specifies wrong part number of multipart rename.
And s3fs adds x-amz-acl and x-amz-server-side-encryption
header when rename objects.
2) Changed retry logic for multipart uploading(and renaming)
Sometimes, s3fs gets 400 HTTP response for one of part from
S3 when s3fs uploads a large object by multipart.
New logic retries uploading failed part until "retries"
option count.
3) Added action on utility mode.
s3fs have had utility mode for displaying the result of REST
listing multipart uploading.
Changed this row result(xml) to list, after that, s3fs starts
conversation for removing it.
Then you can remove the object which is failed uploading by
multipart, and do not need to pay for that ever.
git-svn-id: http://s3fs.googlecode.com/svn/trunk@493 df820570-a93a-0410-bd06-b72b767a4274
1) Supported IAM role
Supports IAM role by option, that is instead of AccessKeyID/
SecretAccessKey.
Adds new option "iam_role" which is specified as IAM role
name.(like s3fs-c)
git-svn-id: http://s3fs.googlecode.com/svn/trunk@490 df820570-a93a-0410-bd06-b72b767a4274
1) Changed codes about memory leak
For memory leak, below codes are changed.
* calls malloc_trim function
* calls initializing NSS function, and adds configure
option "--enable-nss-init".
If libcurl is with NSS, s3fs initializes NSS manually.
This initializing NSS is enabled by "--enable-nss-init"
option at configure. if this option is specified, you
need "nss-devel" package.
* calls initializing libxml2(xmlInitParser).
* BIO functions have memory leak, calls CRYPTO_free_ex_data.
* changes cache structure.
* changes cache out logic to LRU.
* sets alignment for allcated memory in body data structure.
* adds ssl session into share handle. and adds nosscache option.
* deletes unused allocated memory.(bug)
* changes defaule parallel count of head request in readdir
(500->20)
* fixes some bugs.
git-svn-id: http://s3fs.googlecode.com/svn/trunk@482 df820570-a93a-0410-bd06-b72b767a4274
1) Changed codes about initializing curl and openSSL
s3fs before this change called curl_global_init() two times
with curl_global_cleanup(). After reviewing this processing,
s3fs calls curl_global_init() one time.
Then s3fs_check_service function which checks user bucket
existing is called after calling fuse.
So this new processing does not have a problem, the codes
updated.
And about initializing openSSL(CRYPTO), old s3fs called only
static locking callback function(ex. CRYPTO_set_locking_callback()).
Added calling dynamic locking callback function for CRYPTO
(ex. CRYPTO_set_dynlock_lock_callback()).
git-svn-id: http://s3fs.googlecode.com/svn/trunk@479 df820570-a93a-0410-bd06-b72b767a4274
1) Added debugging message in s3fs_getattr
If s3fs runs with "f2" option for deep debugging message, s3fs_getattr
puts debugging message as file's uid/gid/mode.
2) Added curldbg option
Added new option "curldbg" which is for debugging curl http/https
information.
It implements by CURLOPT_VERBOSE on curl_easy_setopt function.
git-svn-id: http://s3fs.googlecode.com/svn/trunk@474 df820570-a93a-0410-bd06-b72b767a4274