]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: disallow setting a crimson pool as a tier or a base
authorSamuel Just <sjust@redhat.com>
Fri, 14 Oct 2022 01:52:55 +0000 (18:52 -0700)
committerSamuel Just <sjust@redhat.com>
Tue, 14 Feb 2023 06:36:35 +0000 (22:36 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/mon/OSDMonitor.cc

index da123baff62615ea9fc0785499297b9b90a0b0c1..4300633b2d7a2f5ebb0c711e73867a25c3729f1d 100644 (file)
@@ -14414,6 +14414,19 @@ bool OSDMonitor::_check_become_tier(
   const std::string &tier_pool_name = osdmap.get_pool_name(tier_pool_id);
   const std::string &base_pool_name = osdmap.get_pool_name(base_pool_id);
 
+  if (tier_pool->is_crimson()) {
+    *ss << "pool '" << tier_pool_name << "' is a crimson pool, tiering "
+       << "features are not supported";
+    *err = -EINVAL;
+    return false;
+  }
+  if (base_pool->is_crimson()) {
+    *ss << "pool '" << base_pool_name << "' is a crimson pool, tiering "
+       << "features are not supported";
+    *err = -EINVAL;
+    return false;
+  }
+
   const FSMap &pending_fsmap = mon.mdsmon()->get_pending_fsmap();
   if (pending_fsmap.pool_in_use(tier_pool_id)) {
     *ss << "pool '" << tier_pool_name << "' is in use by CephFS";