From 573937c4621e6402d85d0768c204441fb659626d Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Thu, 7 Mar 2024 13:37:15 -0500 Subject: [PATCH] mgr: process map before notifying clients Oddly the maps are processed after notifying the modules. I'm not sure if this actually can cause modules to read from the old maps (since finisher contexts are queued) but it seemed odd. Fixes: https://tracker.ceph.com/issues/64799 Signed-off-by: Patrick Donnelly (cherry picked from commit 190f37978f72493ed34f02e919d9b89c405d0962) --- src/mgr/Mgr.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mgr/Mgr.cc b/src/mgr/Mgr.cc index 5bd2ffb246c7..b320ea484be6 100644 --- a/src/mgr/Mgr.cc +++ b/src/mgr/Mgr.cc @@ -588,16 +588,16 @@ bool Mgr::ms_dispatch2(const ref_t& m) handle_mgr_digest(ref_cast(m)); break; case CEPH_MSG_MON_MAP: + /* MonClient passthrough of MonMap to us */ + handle_mon_map(); /* use monc's monmap */ py_module_registry->notify_all("mon_map", ""); - handle_mon_map(); break; case CEPH_MSG_FS_MAP: - py_module_registry->notify_all("fs_map", ""); handle_fs_map(ref_cast(m)); + py_module_registry->notify_all("fs_map", ""); return false; // I shall let this pass through for Client case CEPH_MSG_OSD_MAP: handle_osd_map(); - py_module_registry->notify_all("osd_map", ""); // Continuous subscribe, so that we can generate notifications -- 2.47.3