From: Yanhu Cao Date: Fri, 11 Dec 2020 07:07:48 +0000 (+0800) Subject: client: support client oc's options can update at runtime X-Git-Tag: v16.1.0~205^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8c8ec44de11a67282d215a24decdc2fe9bd9708d;p=ceph.git client: support client oc's options can update at runtime Signed-off-by: Yanhu Cao --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 9f9296fd9e0b..54049df47032 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -15112,6 +15112,11 @@ const char** Client::get_tracked_conf_keys() const "client_acl_type", "client_deleg_timeout", "client_deleg_break_on_open", + "client_oc_size", + "client_oc_max_objects", + "client_oc_max_dirty", + "client_oc_target_dirty", + "client_oc_max_dirty_age", NULL }; return keys; @@ -15130,6 +15135,21 @@ void Client::handle_conf_change(const ConfigProxy& conf, if (cct->_conf->client_acl_type == "posix_acl") acl_type = POSIX_ACL; } + if (changed.count("client_oc_size")) { + objectcacher->set_max_size(cct->_conf->client_oc_size); + } + if (changed.count("client_oc_max_objects")) { + objectcacher->set_max_objects(cct->_conf->client_oc_max_objects); + } + if (changed.count("client_oc_max_dirty")) { + objectcacher->set_max_dirty(cct->_conf->client_oc_max_dirty); + } + if (changed.count("client_oc_target_dirty")) { + objectcacher->set_target_dirty(cct->_conf->client_oc_target_dirty); + } + if (changed.count("client_oc_max_dirty_age")) { + objectcacher->set_max_dirty_age(cct->_conf->client_oc_max_dirty_age); + } } void intrusive_ptr_add_ref(Inode *in) diff --git a/src/common/options.cc b/src/common/options.cc index 367e52ee0dba..19ce7d93d6c1 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -8642,22 +8642,27 @@ std::vector