]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/config_proxy: clear the values.changed in _gather_changes()
authorXiubo Li <xiubli@redhat.com>
Mon, 23 Nov 2020 08:27:51 +0000 (16:27 +0800)
committerXiubo Li <xiubli@redhat.com>
Mon, 23 Nov 2020 08:27:51 +0000 (16:27 +0800)
Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/common/config_proxy.h

index dda83181764040d03ec0f25602fa49cac88d8bd8..0cf53935241ac1f6cfaec0b207ae731e7fda9cf5 100644 (file)
@@ -199,7 +199,6 @@ public:
     rev_obs_map_t rev_obs;
     if (config.finalize_reexpand_meta(values, obs_mgr)) {
       _gather_changes(values.changed, &rev_obs, nullptr);
-      values.changed.clear();
     }
 
     call_observers(locker, rev_obs);
@@ -256,7 +255,6 @@ public:
     if (!values.cluster.empty()) {
       // meta expands could have modified anything.  Copy it all out again.
       _gather_changes(values.changed, &rev_obs, oss);
-      values.changed.clear();
     }
 
     call_observers(locker, rev_obs);
@@ -268,6 +266,7 @@ public:
       [this, rev_obs](md_config_obs_t *obs, const std::string &key) {
         map_observer_changes(obs, key, rev_obs);
       }, oss);
+      changes.clear();
   }
   int set_val(const std::string_view key, const std::string& s,
               std::stringstream* err_ss=nullptr) {
@@ -290,7 +289,6 @@ public:
 
     rev_obs_map_t rev_obs;
     _gather_changes(values.changed, &rev_obs, nullptr);
-    values.changed.clear();
 
     call_observers(locker, rev_obs);
     return ret;
@@ -301,7 +299,6 @@ public:
 
     rev_obs_map_t rev_obs;
     _gather_changes(values.changed, &rev_obs, oss);
-    values.changed.clear();
 
     call_observers(locker, rev_obs);
     return ret;