]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: allow removal of tier of ec overwritable pool 20190/head
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 30 Jan 2018 22:32:32 +0000 (14:32 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 1 Feb 2018 15:07:04 +0000 (07:07 -0800)
Fixes: http://tracker.ceph.com/issues/22754
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mon/OSDMonitor.cc

index b9be89d2e5b3194fba692fdf19a2f83941d94233..55eac2d66855e96e2d399d6b6c32c6fbbd1d782e 100644 (file)
@@ -11336,10 +11336,13 @@ bool OSDMonitor::_check_remove_tier(
   // Apply CephFS-specific checks
   const FSMap &pending_fsmap = mon->mdsmon()->get_pending();
   if (pending_fsmap.pool_in_use(base_pool_id)) {
-    if (base_pool->type != pg_pool_t::TYPE_REPLICATED) {
-      // If the underlying pool is erasure coded, we can't permit the
-      // removal of the replicated tier that CephFS relies on to access it
-      *ss << "pool '" << base_pool_name << "' is in use by CephFS via its tier";
+    if (base_pool->is_erasure() && !base_pool->allows_ecoverwrites()) {
+      // If the underlying pool is erasure coded and does not allow EC
+      // overwrites, we can't permit the removal of the replicated tier that
+      // CephFS relies on to access it
+      *ss << "pool '" << base_pool_name <<
+          "' does not allow EC overwrites and is in use by CephFS"
+          " via its tier";
       *err = -EBUSY;
       return false;
     }