From 725a4b8b42f7cb03138cc1fa950b160abdd52125 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Wed, 6 Jan 2021 10:56:21 -0800 Subject: [PATCH] mon/MDSMonitor: add missing frozen checks This has no known impact on testing. Signed-off-by: Patrick Donnelly --- src/mon/MDSMonitor.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 011b61fff9d6f..37941970f927a 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -1233,6 +1233,11 @@ bool MDSMonitor::fail_mds_gid(FSMap &fsmap, mds_gid_t gid) const auto& info = fsmap.get_info_gid(gid); dout(1) << "fail_mds_gid " << gid << " mds." << info.name << " role " << info.rank << dendl; + if (info.is_frozen()) { + dout(1) << "mds is frozen" << dendl; + return false; + } + ceph_assert(mon.osdmon()->is_writeable()); epoch_t blocklist_epoch = 0; @@ -1995,7 +2000,10 @@ bool MDSMonitor::maybe_resize_cluster(FSMap &fsmap, fs_cluster_id_t fscid) } else if (in > max) { mds_rank_t target = in - 1; const auto &info = mds_map.get_info(target); - if (mds_map.is_active(target)) { + if (info.is_frozen()) { + dout(1) << "highest rank is frozen" << dendl; + return false; + } else if (mds_map.is_active(target)) { dout(1) << "stopping " << target << dendl; mon.clog->info() << "stopping " << info.human_name(); auto f = [](auto& info) { -- 2.39.5