mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26:47 +00:00
rgw/rgw_op: Remove get_val from hotpath via legacy options
Signed-off-by: Mark Nelson <mnelson@redhat.com>
This commit is contained in:
parent
18a41277fb
commit
b7608ec280
@ -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)
|
||||
|
@ -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<Option::size_t>("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<Option::size_t>("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<uint64_t>("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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user