OPTION(rgw_defer_to_bucket_acls, OPT_STR) // if the user has bucket perms)
OPTION(rgw_list_buckets_max_chunk, OPT_INT) // max buckets to retrieve in a single op when listing user buckets
OPTION(rgw_md_log_max_shards, OPT_INT) // max shards for metadata log
+OPTION(rgw_curl_buffersize, OPT_INT) // set preferred receive buffer size for curl calls
OPTION(rgw_curl_wait_timeout_ms, OPT_INT) // timeout for certain curl calls
OPTION(rgw_curl_low_speed_limit, OPT_INT) // low speed limit for certain curl calls
OPTION(rgw_curl_low_speed_time, OPT_INT) // low speed time for certain curl calls
"the metadata sync parallelism as a shard can only be processed by a single "
"RGW at a time"),
+ Option("rgw_curl_buffersize", Option::TYPE_INT, Option::LEVEL_DEV)
+ .set_default(512_K)
+ .set_min_max(1_K, 512_K)
+ .set_long_description(
+ "Pass a long specifying your preferred size (in bytes) for the receive"
+ "buffer in libcurl. "
+ "See: https://curl.se/libcurl/c/CURLOPT_BUFFERSIZE.html"),
+
Option("rgw_curl_wait_timeout_ms", Option::TYPE_INT, Option::LEVEL_DEV)
.set_default(1000)
.set_description(""),
curl_easy_setopt(easy_handle, CURLOPT_LOW_SPEED_LIMIT, cct->_conf->rgw_curl_low_speed_limit);
curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, send_http_data);
curl_easy_setopt(easy_handle, CURLOPT_READDATA, (void *)req_data);
+ curl_easy_setopt(easy_handle, CURLOPT_BUFFERSIZE, cct->_conf->rgw_curl_buffersize);
if (send_data_hint || is_upload_request(method)) {
curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);
}