From 7b64b9c755cf4237e3623a7c264e49537166a084 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 b3d710f31abfa..93183144e8e21 100644 --- a/src/mgr/Mgr.cc +++ b/src/mgr/Mgr.cc @@ -615,16 +615,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.39.5