From: Kefu Chai Date: Tue, 14 Jul 2020 09:34:02 +0000 (+0800) Subject: mgr/DaemonServer: pass task_status instead of a message X-Git-Tag: v15.2.9~122^2~80^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7a770c776a0aefff2bb4e247082784fbd2cdbb60;p=ceph.git mgr/DaemonServer: pass task_status instead of a message be explicit that the caller is only interested in the task_status Signed-off-by: Kefu Chai (cherry picked from commit 87c86e9b77d32a0a274cd02d6dae7723e36524b0) --- diff --git a/src/mgr/DaemonServer.cc b/src/mgr/DaemonServer.cc index 055fb8f58ca..2500e7d6577 100644 --- a/src/mgr/DaemonServer.cc +++ b/src/mgr/DaemonServer.cc @@ -527,20 +527,23 @@ bool DaemonServer::handle_close(const ref_t& m) return true; } -void DaemonServer::update_task_status(DaemonKey key, const ref_t& m) { +void DaemonServer::update_task_status( + DaemonKey key, + const std::map& 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& 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()) { diff --git a/src/mgr/DaemonServer.h b/src/mgr/DaemonServer.h index 185d0d246c1..6bc60ffcf78 100644 --- a/src/mgr/DaemonServer.h +++ b/src/mgr/DaemonServer.h @@ -145,7 +145,8 @@ private: } }; - void update_task_status(DaemonKey key, const ref_t& m); + void update_task_status(DaemonKey key, + const std::map& task_status); public: int init(uint64_t gid, entity_addrvec_t client_addrs);