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>
(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.
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<Filesystem> fs)