]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/DaemonServer: pass task_status instead of a message
authorKefu Chai <kchai@redhat.com>
Tue, 14 Jul 2020 09:34:02 +0000 (17:34 +0800)
committerNathan Cutler <ncutler@suse.com>
Sat, 18 Jul 2020 17:41:36 +0000 (19:41 +0200)
be explicit that the caller is only interested in the task_status

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 87c86e9b77d32a0a274cd02d6dae7723e36524b0)

src/mgr/DaemonServer.cc
src/mgr/DaemonServer.h

index 055fb8f58ca3e485b35bb225905190d1245da568..2500e7d6577087f4df558af41c31ecb9fded01ca 100644 (file)
@@ -527,20 +527,23 @@ bool DaemonServer::handle_close(const ref_t<MMgrClose>& m)
   return true;
 }
 
-void DaemonServer::update_task_status(DaemonKey key, const ref_t<MMgrReport>& m) {
+void DaemonServer::update_task_status(
+  DaemonKey key,
+  const std::map<std::string,std::string>& task_status)
+{
   dout(10) << "got task status from " << key << dendl;
 
   bool service_map_dirty = false;
-  if ((*m->task_status).empty()) {
+  if (task_status.empty()) {
     auto removed = pending_service_map.rm_daemon(key.type, key.name);
     if (removed) {
       service_map_dirty = true;
     }
   } else {
     auto p = pending_service_map.get_daemon(key.type, key.name);
-    if (!map_compare(p.first->task_status, *m->task_status)) {
+    if (!map_compare(p.first->task_status, task_status)) {
       service_map_dirty = true;
-      p.first->task_status = *m->task_status;
+      p.first->task_status = task_status;
     }
   }
 
@@ -643,7 +646,7 @@ bool DaemonServer::handle_report(const ref_t<MMgrReport>& m)
       }
       // update task status
       if (m->task_status) {
-        update_task_status(key, m);
+        update_task_status(key, *m->task_status);
         daemon->last_service_beacon = now;
       }
       if (m->get_connection()->peer_is_osd() || m->get_connection()->peer_is_mon()) {
index 185d0d246c11848a5dc72e5ba1875ba8d1fee3fd..6bc60ffcf780f624eced24eec06afad020acdd89 100644 (file)
@@ -145,7 +145,8 @@ private:
     }
   };
 
-  void update_task_status(DaemonKey key, const ref_t<MMgrReport>& m);
+  void update_task_status(DaemonKey key,
+                         const std::map<std::string,std::string>& task_status);
 
 public:
   int init(uint64_t gid, entity_addrvec_t client_addrs);