]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: fix `fs set down` to adjust max_mds only when cluster is not down
authorchungfengz <chungfengz@synology.com>
Wed, 10 Jul 2024 04:07:56 +0000 (04:07 +0000)
committerchungfengz <chungfengz@synology.com>
Fri, 26 Jul 2024 14:41:41 +0000 (22:41 +0800)
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 <chungfengz@synology.com>
src/mon/FSCommands.cc

index 2660d1bda96243d2a57c0f680c2ca638ab29a2fe..62d37574ded670273c1f7448b0204ffef061a954 100644 (file)
@@ -598,6 +598,11 @@ int FileSystemCommandHandler::set_val(Monitor *mon, FSMap& fsmap, MonOpRequestRe
 
       ss << fsp->get_mds_map().get_fs_name();
 
+      if (!is_down && fsp->get_mds_map().get_max_mds() > 0) {
+        ss << " is already online";
+        return 0;
+      }
+
       modify_filesystem(fsmap, fsv,
           [is_down](auto&& fs)
       {