]> 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)
committerNathan Cutler <ncutler@suse.com>
Wed, 27 Jan 2021 20:45:16 +0000 (21:45 +0100)
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit 7496be719c3419224ac7fc29d6db4e282b193554)

src/common/config_proxy.h

index ce7c35d83ce855386696afeba128795e790caeab..6f886c256ca28ae1d4651dcd170bd42b553424d1 100644 (file)
@@ -193,7 +193,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);
@@ -250,7 +249,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);
@@ -262,6 +260,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& key, const std::string& s,
               std::stringstream* err_ss=nullptr) {
@@ -284,7 +283,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;
@@ -295,7 +293,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;