From: Sage Weil Date: Fri, 6 Dec 2019 17:10:22 +0000 (-0600) Subject: common/config: update values when they are removed via mon X-Git-Tag: v13.2.9~10^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=63b6e879aa56d996602d74eaca209e705e8eef9a;p=ceph.git common/config: update values when they are removed via mon If a value is set via the mon (ceph config set ...), and then later removed, the removal doesn't propagate to the legacy values (or debug options) because update_legacy_values() only iterates over legacy value and not debug options. Similarly, we want to trigger a config notification to any observers, so we need to add the option to values.changed. Fixes: https://tracker.ceph.com/issues/42964 Signed-off-by: Sage Weil (cherry picked from commit 56be2e4a373dcf794756eaf05958dd6f44a4ca9e) Conflicts: src/common/config.cc - _refresh does not take values argument in mimic --- diff --git a/src/common/config.cc b/src/common/config.cc index 748e7d29bac..581f0e5ee2a 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -311,6 +311,11 @@ int md_config_t::set_mon_vals(CephContext *cct, << " cleared (was " << Option::to_str(j->second) << ")" << dendl; _rm_val(name, CONF_MON); + // if this is a debug option, it needs to propagate to teh subsys; + // this isn't covered by update_legacy_vals() below. similarly, + // we want to trigger a config notification for these items. + const Option *o = find_option(name); + _refresh(*o); } } }