From: chungfengz Date: Wed, 10 Jul 2024 04:07:56 +0000 (+0000) Subject: mon: fix `fs set down` to adjust max_mds only when cluster is not down X-Git-Tag: v18.2.5~139^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e64a66bfe45c6e4407d0fe97a5fa3473e5164e32;p=ceph.git mon: fix `fs set down` to adjust max_mds only when cluster is not down Applying `fs set down false` on an up cluster will set the cluster's max_mds to 1, regardless of the cluster's current max_mds. `fs set down false` should only change max_mds when the cluster was set to down. Otherwise, the cluster should remain unchanged. Fixes: https://tracker.ceph.com/issues/66960 Signed-off-by: chungfengz (cherry picked from commit 6bfce64f7e97726d27b872077d6b9addab87ab64) Conflicts: src/mon/FSCommands.cc Minor conflict to use `fs->mds_map...` instead of `fsp->get_mds_map()...` and the use of modify_filesystem() helper. --- diff --git a/src/mon/FSCommands.cc b/src/mon/FSCommands.cc index c564226b04f5..9a2d8788df9b 100644 --- a/src/mon/FSCommands.cc +++ b/src/mon/FSCommands.cc @@ -553,6 +553,11 @@ public: ss << fs->mds_map.get_fs_name(); + if (!is_down && fs->mds_map.get_max_mds() > 0) { + ss << " is already online"; + return 0; + } + fsmap.modify_filesystem( fs->fscid, [is_down](std::shared_ptr fs)