From b7608ec2800d5b1e015682a31a889b4cd64794c9 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Tue, 27 Aug 2019 23:35:47 -0400 Subject: [PATCH] rgw/rgw_op: Remove get_val from hotpath via legacy options Signed-off-by: Mark Nelson --- src/common/legacy_config_opts.h | 4 ++++ src/rgw/rgw_op.h | 13 +++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 02094b29877..bbdcae1d6a6 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -1265,6 +1265,10 @@ OPTION(rados_osd_op_timeout, OPT_DOUBLE) // how many seconds to wait for a respo OPTION(rados_tracing, OPT_BOOL) // true if LTTng-UST tracepoints should be enabled +OPTION(rgw_max_attr_name_len, OPT_SIZE) +OPTION(rgw_max_attr_size, OPT_SIZE) +OPTION(rgw_max_attrs_num_in_req, OPT_U64) + OPTION(rgw_max_chunk_size, OPT_INT) OPTION(rgw_put_obj_min_window_size, OPT_INT) OPTION(rgw_put_obj_max_window_size, OPT_INT) diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index 09a1be6fe0a..9d890b7f174 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -2014,26 +2014,23 @@ static inline int rgw_get_request_metadata(CephContext* const cct, * name. Passing here doesn't guarantee that an OSD will accept that * as ObjectStore::get_max_attr_name_length() can set the limit even * lower than the "osd_max_attr_name_len" configurable. */ - const size_t max_attr_name_len = \ - cct->_conf.get_val("rgw_max_attr_name_len"); + const auto max_attr_name_len = cct->_conf->rgw_max_attr_name_len; if (max_attr_name_len && attr_name.length() > max_attr_name_len) { return -ENAMETOOLONG; } /* Similar remarks apply to the check for value size. We're veryfing * it early at the RGW's side as it's being claimed in /info. */ - const size_t max_attr_size = \ - cct->_conf.get_val("rgw_max_attr_size"); + const auto max_attr_size = cct->_conf->rgw_max_attr_size; if (max_attr_size && xattr.length() > max_attr_size) { return -EFBIG; } /* Swift allows administrators to limit the number of metadats items * send _in a single request_. */ - const auto rgw_max_attrs_num_in_req = \ - cct->_conf.get_val("rgw_max_attrs_num_in_req"); - if (rgw_max_attrs_num_in_req && - ++valid_meta_count > rgw_max_attrs_num_in_req) { + const auto max_attrs_num_in_req = cct->_conf->rgw_max_attrs_num_in_req; + if (max_attrs_num_in_req && + ++valid_meta_count > max_attrs_num_in_req) { return -E2BIG; } -- 2.39.5