{
compressor = Compressor::create(cct, cs_info->compression_type);
if (!compressor.get())
- lderr(cct) << "Cannot load compressor of type " << cs_info->compression_type
- << " for rgw, check rgw_compression_type config option" << dendl;
+ lderr(cct) << "Cannot load compressor of type " << cs_info->compression_type << dendl;
}
int RGWGetObj_Decompress::handle_data(bufferlist& bl, off_t bl_ofs, off_t bl_len)
if (!compressor.get()) {
// if compressor isn't available - error, because cannot return decompressed data?
- lderr(cct) << "Cannot load compressor of type " << cs_info->compression_type
- << " for rgw, check rgw_compression_type config option" << dendl;
+ lderr(cct) << "Cannot load compressor of type " << cs_info->compression_type << dendl;
return -EIO;
}
bufferlist out_bl, in_bl;
return ret;
}
-// special handling for rgw_compression_type = "random" with multipart uploads
-static CompressorRef get_compressor_plugin(const req_state *s)
+// special handling for compression type = "random" with multipart uploads
+static CompressorRef get_compressor_plugin(const req_state *s,
+ const std::string& compression_type)
{
- const auto& compression_type = s->cct->_conf->rgw_compression_type;
if (compression_type != "random") {
return Compressor::create(s->cct, compression_type);
}
off_t fst;
off_t lst;
+ const auto& compression_type = store->get_zone_params().get_compression_type(
+ s->bucket_info.placement_rule);
CompressorRef plugin;
boost::optional<RGWPutObj_Compress> compressor;
fst = copy_source_range_fst;
lst = copy_source_range_lst;
- if (s->cct->_conf->rgw_compression_type != "none") {
- plugin = get_compressor_plugin(s);
+ if (compression_type != "none") {
+ plugin = get_compressor_plugin(s, compression_type);
if (!plugin) {
- ldout(s->cct, 1) << "Cannot load plugin for rgw_compression_type "
- << s->cct->_conf->rgw_compression_type << dendl;
+ ldout(s->cct, 1) << "Cannot load plugin for compression type "
+ << compression_type << dendl;
} else {
compressor.emplace(s->cct, plugin, filter);
filter = &*compressor;
if (op_ret < 0)
return;
- const auto& compression_type = s->cct->_conf->rgw_compression_type;
+ const auto& compression_type = store->get_zone_params().get_compression_type(
+ s->bucket_info.placement_rule);
CompressorRef plugin;
if (compression_type != "none") {
plugin = Compressor::create(s->cct, compression_type);
if (!plugin) {
- ldout(s->cct, 1) << "Cannot load plugin for rgw_compression_type "
+ ldout(s->cct, 1) << "Cannot load plugin for compression type "
<< compression_type << dendl;
} else {
compressor.emplace(s->cct, plugin, filter);
RGWPutObjDataProcessor *filter = &processor;
- const auto& compression_type = cct->_conf->rgw_compression_type;
+ const auto& compression_type = zone_params.get_compression_type(
+ dest_bucket_info.placement_rule);
if (compression_type != "none") {
plugin = Compressor::create(cct, compression_type);
if (!plugin) {
- ldout(cct, 1) << "Cannot load plugin for rgw_compression_type "
+ ldout(cct, 1) << "Cannot load plugin for compression type "
<< compression_type << dendl;
} else {
compressor = boost::in_place(cct, plugin, filter);