diff --git a/doc/man/s3fs.1 b/doc/man/s3fs.1 index 3f75283..89d81de 100644 --- a/doc/man/s3fs.1 +++ b/doc/man/s3fs.1 @@ -78,7 +78,7 @@ delete local file cache when s3fs starts and exits. \fB\-o\fR storage_class (default is standard) store object with specified storage class. this option replaces the old option use_rrs. -Possible values: standard, standard_ia, and reduced_redundancy. +Possible values: standard, standard_ia, onezone_ia and reduced_redundancy. .TP \fB\-o\fR use_rrs (default is disable) use Amazon's Reduced Redundancy Storage. diff --git a/src/curl.cpp b/src/curl.cpp index 2bd9f87..c1a80a4 100644 --- a/src/curl.cpp +++ b/src/curl.cpp @@ -2816,6 +2816,8 @@ int S3fsCurl::PutHeadRequest(const char* tpath, headers_t& meta, bool is_copy) requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "REDUCED_REDUNDANCY"); } else if(STANDARD_IA == GetStorageClass()){ requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "STANDARD_IA"); + } else if(ONEZONE_IA == GetStorageClass()){ + requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "ONEZONE_IA"); } // SSE if(!is_copy){ @@ -2945,6 +2947,8 @@ int S3fsCurl::PutRequest(const char* tpath, headers_t& meta, int fd) requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "REDUCED_REDUNDANCY"); } else if(STANDARD_IA == GetStorageClass()){ requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "STANDARD_IA"); + } else if(ONEZONE_IA == GetStorageClass()){ + requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "ONEZONE_IA"); } // SSE string ssevalue(""); @@ -3212,6 +3216,8 @@ int S3fsCurl::PreMultipartPostRequest(const char* tpath, headers_t& meta, string requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "REDUCED_REDUNDANCY"); } else if(STANDARD_IA == GetStorageClass()){ requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "STANDARD_IA"); + } else if(ONEZONE_IA == GetStorageClass()){ + requestHeaders = curl_slist_sort_insert(requestHeaders, "x-amz-storage-class", "ONEZONE_IA"); } // SSE if(!is_copy){ diff --git a/src/curl.h b/src/curl.h index 829bc40..e18e253 100644 --- a/src/curl.h +++ b/src/curl.h @@ -163,6 +163,7 @@ typedef std::list sseckeylist_t; enum storage_class_t { STANDARD, STANDARD_IA, + ONEZONE_IA, REDUCED_REDUNDANCY }; diff --git a/src/s3fs.cpp b/src/s3fs.cpp index 7d0ba98..56b3dda 100644 --- a/src/s3fs.cpp +++ b/src/s3fs.cpp @@ -4390,6 +4390,8 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar S3fsCurl::SetStorageClass(STANDARD); }else if(0 == strcmp(storage_class, "standard_ia")){ S3fsCurl::SetStorageClass(STANDARD_IA); + }else if(0 == strcmp(storage_class, "onezone_ia")){ + S3fsCurl::SetStorageClass(ONEZONE_IA); }else if(0 == strcmp(storage_class, "reduced_redundancy")){ S3fsCurl::SetStorageClass(REDUCED_REDUNDANCY); }else{ diff --git a/src/s3fs_util.cpp b/src/s3fs_util.cpp index 3a998da..8f2a879 100644 --- a/src/s3fs_util.cpp +++ b/src/s3fs_util.cpp @@ -1024,7 +1024,7 @@ void show_help (void) "\n" " storage_class (default=\"standard\")\n" " - store object with specified storage class. Possible values:\n" - " standard, standard_ia, and reduced_redundancy.\n" + " standard, standard_ia, onezone_ia and reduced_redundancy.\n" "\n" " use_sse (default is disable)\n" " - Specify three type Amazon's Server-Site Encryption: SSE-S3,\n"